आपको एक रिसीवर जोड़ने की आवश्यकता है जो रीबूट के बाद सेवा लॉन्च करे।
पूरा
<service android:name="com.meCorp.service.MeCorpServiceClass"/>
...
<receiver android:name="com.meCorp.receiver.MyRebootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
बूट के लिए अपने प्रकट रजिस्टर अपने बूट रिसीवर में, एक सेवा का शुभारंभ।
public class MyRebootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent(context, MeCorpServiceClass.class);
serviceIntent.putExtra("caller", "RebootReceiver");
context.startService(serviceIntent);
}
}
पृष्ठभूमि में चलाने के लिए सेवा कक्षा के लिए यहां एक उदाहरण दिया गया है।
public class MeCorpServiceClass extends IntentService{
@Override
protected void onHandleIntent(Intent intent){
String intentType = intent.getExtras().getString("caller");
if(intentType == null) return;
if(intentType.Equals("RebootReceiver"))
//Do reboot stuff
//handle other types of callers, like a notification.
}
}
या शहरी एयरशिप जैसी तीसरी पार्टी का उपयोग करें, जो आपके लिए यह सब कुछ संभालती है।
मुझे पता है कि ईएसनिफ का जवाब काम करेगा। लेकिन जिस अन्य ऐप के बारे में मैं बात कर रहा हूं, उसके पास कोई चल रही सेवाएं नहीं हैं और ऐप स्वयं नहीं चल रहा है, फिर भी अधिसूचना अभी भी मौजूद है और इस पर टैप करने से ऐप लॉन्च हो जाता है। – miannelle2
क्या आपने इसे हल किया है? मैं भी सोच रहा हूं कि – bman