android - onTaskRemoved() HUAWEI और XIOMI उपकरणों में नहीं बुलाया जा रहा है




service (4)

मैं एक सेवा में onTaskRemoved () पद्धति का उपयोग कर रहा हूं ताकि यह पता लगाया जा सके कि किसी ऐप को डिवाइस RECENT सूची से निकालकर उसे स्वाइप करके हटा दिया गया था।

द्वारा दिए गए उत्तर पर अधिक प्रकाश

यह Xiaomi पर नया नहीं है क्योंकि Xiaomi में ऐप अनुमति नाम की एक सुविधा है, जहां उपयोगकर्ता को ऐप को स्वचालित रूप से शुरू करने की अनुमति देनी होती है (सेवा)। आपके मामले में Service को नहीं बुलाया जाता है, एक बार इसके स्टैक से समाप्त कर दिया जाता है।

इस तरह जाएं और अपने ऐप को ऑटोस्टार्ट करने दें:

Settings > permissions > Autostart

मैं एक सेवा में onTaskRemoved() पद्धति का उपयोग कर रहा हूं ताकि यह पता लगाया जा सके कि किसी ऐप को डिवाइस RECENT सूची से निकालकर उसे स्वाइप करके हटा दिया गया था। मैं कुछ लॉगिंग और कुछ अन्य परिचालनों को रोक देता हूं, जब ऐसा होता है। यह पूरी तरह से काम करता है।

फिर मैंने एक एंड्रॉइड 6.0 पर चलने वाले HUAWEI डिवाइस में इस विधि की जांच की। विधि कभी नहीं कहा जाता है। मैंने एक Log.d कॉल भी जोड़ा और जैसी कि उम्मीद थी, यह लॉग कभी दिखाई नहीं दिया। ऐसा ही एक XIOMI डिवाइस पर होता है।

कोई भी विचार ऐसा क्यों होता है और इसे कैसे हल किया जाए? या क्या कोई अन्य तरीका है जिससे पता लगाया जा सके कि एप्लिकेशन को onTaskRemoved() सूची से onTaskRemoved() पर निर्भर होने के onTaskRemoved() हटा दिया गया था?

धन्यवाद


अस्वीकरण: यह अच्छा समाधान नहीं है .. यह हैक है

आप उपयोगकर्ता द्वारा ऐप को मार सकते हैं

अपने घोषणापत्र में -> गतिविधि टैग के अंदर -> निम्नलिखित पंक्ति जोड़ें

एंड्रॉयड: excludeFromRecents = "true"

आपका ऐप हाल के ऐप्स इतिहास में नहीं दिखा है। इसलिए उपयोगकर्ता ऐप को नहीं मार सकता है।


जब उपयोगकर्ता ने आपका ऐप xiaomi डिवाइस पर स्थापित किया है, तो उपयोगकर्ता को ऑटो स्टार्ट गतिविधि पर पुनर्निर्देशित करें और उपयोगकर्ता को स्विच करने के लिए कहें:

if (Build.BRAND.equalsIgnoreCase("xiaomi")) {
                Intent intent = new Intent();
                intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
                startActivity(intent);
            }

Xiaomi पर ऑटोस्टार्ट गतिविधि पृष्ठ लॉन्च करने के लिए उपरोक्त कोड का उपयोग करें


माय हुआवेई में भी मुझे पोरेलम का सामना करना पड़ा, बस सेटिंग => पावर सेविंग => प्रोटेक्ट ऐप => अपना ऐप ढूंढें और इसे सक्षम करें .. सेवा चालू हो जाएगी ।।





huawei