मैं निम्नलिखित BroadcastReceiver onPause में लागू() विधि का उपयोग कर चार्ज पर मेरे nightclock आवेदन autostart करने के लिए कोशिश कर रहा हूँ से:startActivity() BroadcastReceiver
BroadcastReceiver test = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
unregisterReceiver(this);
Intent i = new Intent(context, NightClock.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
};
registerReceiver(test, new IntentFilter(Intent.ACTION_POWER_CONNECTED));
onReceive() विधि के सक्रिय होने पर यूएसबी केबल है जब प्लग इन, लेकिन गतिविधि शुरू नहीं होती है। हालांकि लॉग यह दिखाता है:
I/ActivityManager( 79): Starting activity: Intent { flg=0x10000000 cmp=com.meins.nightclock/.NightClock }
लॉग इन कहता है कि गतिविधि शुरू हो गई है, लेकिन कुछ भी नहीं होता है?
कृपया लॉगकैट से अधिक के साथ अपनी समस्या को अपडेट करें - इस से पहले कुछ लाइनें और इसके बाद एक दर्जन या तो लाइनें। साथ ही, क्यों 'FLAG_ACTIVITY_NEW_TASK'? साथ ही, क्या गतिविधि है जो इस 'ब्रॉडकास्ट रिसीवर' को अभी भी पंजीकृत करती है जब ACTION_POWER_CONNECTED होती है? – CommonsWare
सत्ता से कनेक्ट करते समय LogCat में और कोई लाइन नहीं हैं। 'ब्रॉडकास्ट रिसीवर' उसी गतिविधि में पंजीकृत है जिसे इसे शुरू करना चाहिए। यह गतिविधि अभी भी पृष्ठभूमि में चल रही है (लॉगकैट ऐप को सामने लाया गया है)। यदि कार्यकर्ता में यह गतिविधि मारे जाती है, तो 'ब्रॉडकास्ट रिसीवर' बिल्कुल ट्रिगर नहीं लग रहा है। क्या यह दृष्टिकोण शुरुआत से मेरे ऐप को गलत करने के लिए है? – Gubbel