2011-04-21 12 views
20

के बाद/sdcard पर एप्लिकेशन कैसे प्रारंभ करें /sdcard पर बूट होने के बाद स्वचालित रूप से बूट के बाद एंड्रॉइड एप्लिकेशन कैसे शुरू करें?एंड्रॉइड - बूट

ठीक है, शायद BroadcastReceiver द्वारा। लेकिन कौन सी कार्रवाई सही है?

ACTION_BOOT_COMPLETED - does not work if it is on the /sdcard (documented) 
ACTION_MEDIA_MOUNTED - does not work if it is on the /sdcard (which is undocumented) 
ACTION_EXTERNAL_APPLICATIONS_AVAILABLE - does not work, I do not know why 
ACTION_USER_PRESENT - does not work if the BroadcastReceiver is registered in AndroidManifest (which is undocumented, but documentation bug has been reported) 

धन्यवाद
जनवरी

+0

क्या आपने कभी इसे हल किया है? मुझे अब भी एक ही समस्या है। –

+0

आपके प्रश्न ने मुझे अपना उत्तर खोजने में मदद की, धन्यवाद। : डी –

+0

यदि आपको यह उपयोगी लगता है, तो आपको जवाब स्वीकार करना चाहिए। –

उत्तर

0

मैं आमतौर पर (एक वर्ग है कि आवेदन फैली में एंड्रॉयड प्रकट करने के साथ ही गतिशील) दोनों तरीकों से एक प्रसारण रिसीवर के लिए हर लक्ष्य फ़िल्टर रजिस्टर

AndroidManifest.xml में के रूप में :

<receiver 
      android:name=".broadcastReciever" 
      android:enabled="true" 
      android:exported="true" android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE" /> 
      </intent-filter> 
     </receiver> 

और एक वर्ग है कि फैली में आवेदन:

registerReceiver(new broadcastReciever(), new IntentFilter(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE)); 

और RECEIVE_BOOT_COMPLETED अनुमति जोड़ने और उस श्रेणी को पंजीकृत करने के लिए मत भूलना जो एंड्रॉइड मैनिफेस्ट में एप्लिकेशन को बढ़ाता है।

ऐसा करना चाहिए; किसी और मदद/स्पष्टीकरण के लिए पूछने के लिए स्वतंत्र महसूस करें।

1

कृपया इसे प्रकट फ़ाइल में देखें।

</uses-permission>  
<receiver android:name=".BootReceiver" 
    android:enabled="true" 
    android:exported="true" 
    android:label="BootReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"></action> 
    </intent-filter> 
</receiver> 

अनुमति "android.permission.RECEIVE_BOOT_COMPLETED" प्रदान menifest के बच्चे के रूप में।

और एक और चीज एसडीकार्ड में आपके ऐप को इंस्टॉल नहीं किया जाना चाहिए।

+0

यह प्रश्न का उत्तर नहीं देता है क्योंकि सवाल ने विशेष रूप से पूछा कि एसडी कार्ड पर ऐप * इंस्टॉल होने पर बूट पर अधिसूचित कैसे किया जाए। – BladeCoder

+0

मुझे यकीन नहीं है लेकिन यह मेरे अनुसार संभव नहीं है। –

+0

मैं सहमत हूं, इसलिए सही जवाब यह है कि यह संभव नहीं है। – BladeCoder

0

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

और इस <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

शायद QUICKBOOT_POWERON मदद यू

1

गूगल के अनुसार, तुम नहीं आप एक बाहरी ड्राइव पर बूट पर चलाना चाहते हैं किसी भी अनुप्रयोग रखना चाहिए उपयोग करके देखें।

"सिस्टम बाहरी डिवाइस पर बाहरी संग्रहण को घुमाने से पहले ACTION_BOOT_COMPLETED प्रसारण प्रदान करता है। यदि आपका एप्लिकेशन बाहरी संग्रहण पर स्थापित है, तो यह कभी भी इस प्रसारण को प्राप्त नहीं कर सकता है।"

http://developer.android.com/guide/topics/data/install-location.html#ShouldNot

संबंधित मुद्दे