2012-06-23 8 views
5

मुझे हमेशा एक पृष्ठभूमि सेवा की आवश्यकता है जो मेरे एंड्रॉइड एप्लिकेशन और सर्वर को सिंक्रनाइज़ करेगी। मुझे पता है कि इसे अपने एप्लिकेशन के माध्यम से कैसे लॉन्च किया जाए, लेकिन जब एंड्रॉइड बंद हो जाए, तो पृष्ठभूमि सेवा मर जाएगी।एंड्रॉइड चालू होने पर पृष्ठभूमि सेवा शुरू करना

पृष्ठभूमि सेवा हमेशा चलने के लिए मैं कैसे कर सकता हूं? (यहां तक ​​कि जब डिवाइस बंद हो जाता है और फिर चालू हो जाता है ...)

मुझे एंड्रॉइड के प्रारंभिक कार्यक्रमों में अपनी पृष्ठभूमि सेवा में जोड़ने की आवश्यकता है। कोई संकेत?

उत्तर

15

उपयोग <action android:name="android.intent.action.BOOT_COMPLETED" />: अपने एप्लिकेशन को आपके प्रकट में अनुमति देने का अनुरोध कर इस सूचना प्राप्त करने के लिए कह सकते हैं।

AndroidManifest.xml में:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"> 
</uses-permission> 

में कोड हिस्सा BootBroadcastReceiver:

public class BootBroadcastReceiver extends BroadcastReceiver {  
    static final String ACTION = "android.intent.action.BOOT_COMPLETED"; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // BOOT_COMPLETED” start Service  
     if (intent.getAction().equals(ACTION)) { 
      //Service  
      Intent serviceIntent = new Intent(context, StartOnBootService.class);  
      context.startService(serviceIntent); 
     } 
    }  
} 

संपादित करें: आप डिवाइस के बारे में बात कर रहे हैं, तो आपके AndroidManifest.xml के रूप में

<receiver android:name=".BootBroadcastReceiver" > 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 

जोड़ें अनुमति स्क्रीन चालू/बंद होने पर आपको <action android:name="android.intent.action.USER_PRESENT" /> और <action android:name="android.intent.action.SCREEN_ON" /> पंजीकरण करने की आवश्यकता है जब उपयोगकर्ता मौजूद है या स्क्रीन चालू है।

+0

जब मैं अपना मोबाइल चालू करता हूं तो मुझे एक त्रुटि मिल रही है ... "ऐप को मजबूर होना पड़ा ..."। यह काम नहीं कर रहा है। – Frion3L

+0

आपको कौन सी त्रुटि मिल रही है, क्या आप अपनी पोस्ट को त्रुटि के साथ संपादित कर सकते हैं? –

3
(Even when the device turns off and then turns on.. 

ओएस बूटिंग समाप्त होने पर ACTION_BOOT_COMPLETED प्रसारित करता है। जब उपकरण चालू न हो आपकी सेवा शुरू करने के लिए

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"> 
</uses-permission> 

http://blog.gregfiumara.com/archives/82

http://www.androidcompetencycenter.com/2009/06/start-service-at-boot/