2011-11-02 12 views
10

मैनिफ़ेस्ट:बूट रिसीवर काम नहीं कर रहा

  <application android:icon="@drawable/icon" android:label="@string/app_name"> 
      <activity android:name=".AlarmActivity" 
         android:label="@string/app_name"> 
       <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
       </intent-filter> 
      </activity> 
      <receiver android:name="CallReciver"> 
       <intent-filter> 
        <action android:name="android.intent.action.PHONE_STATE"> 

</action> 
       </intent-filter> 
      </receiver> 
      <receiver android:name=".SmsReceiver"> 
       <intent-filter android:priority="1000"> 
        <action android:name= 
         "android.provider.Telephony.SMS_RECEIVED" /> 
       </intent-filter> 
      </receiver> 
      <receiver android:name=".OnBootReceiver"> 
      <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      </intent-filter> 
     </receiver> 
      <service 
       android:enabled="true" 
       android:name=".AlarmService"> 
      </service> 
     </application> 
     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.READ_PHONE_STATE"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.WRITE_SMS"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.READ_SMS"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.SEND_SMS"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.RECEIVE_SMS"> 
     </uses-permission> 
     <uses-permission android:name="android.permission.INTERNET"> 
     </uses-permission> 

रिसीवर:

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 
import android.widget.Toast; 

public class OnBootReceiver extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     Log.d("Test","booot"); 
     Toast.makeText(context, "Test", Toast.LENGTH_LONG).show(); 
    } 
} 

रिसीवर काम नहीं करता। मैं बंद कर देता हूं और अपने डिवाइस पर और कुछ भी नहीं होता है। इस परियोजना में एसएमएस और कॉल रिसीवर अच्छा काम करता है। एसएमएस रिसीवर और कॉलरसेविवर - अच्छा काम करता है। पहला पोस्ट अपडेट किया गया - पूर्ण मैनिफेस्ट जोड़ा गया।

उत्तर

47

यदि आपके पास एचटीसी डिवाइस है तो आपको "android.intent.action.QUICKBOOT_POWERON" के लिए पंजीकरण करने की भी आवश्यकता है। तो प्रकट में प्रवेश किया जाना चाहिए:

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

मेरी एचटीसी, यदि मैं डिवाइस को बंद और यह कुछ समय मैं QUICKBOOT_POWERON और कोई BOOT_COMPLETED मिला के लिए मोड़ पर।

अगर मैं डिवाइस बंद कर देता हूं और थोड़ी देर के लिए बैटरी हटा देता हूं - मुझे शुरू होने के बाद BOOT_COMPLETED मिला।

+0

वाह, यह एक उपयोगी पोस्ट है! – slinden77

6

रखें अनुमति

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

मेरे पास यह स्पष्ट रूप से है। – user1021984

+2

क्या आपने मैसेन्जर – Rasel

+0

के एप्लिकेशन टैग में रिसीवर लगाया था मुझे कौन सा टैग रखना चाहिए? – user1021984

1

इस प्रयास करें ::

<receiver android:enabled="true" android:exported="true" 
     android:name=".OnBootReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 

चीयर्स ... !!!

+0

सैमसंग ए 3 को सत्य पर सेट करने के लिए "सक्षम" और "निर्यात" ध्वज की आवश्यकता है, लेकिन Huawei 6P और अन्य 2 डिवाइसों पर मुझे लगता है कि वे डिफ़ॉल्ट रूप से सत्य पर सेट किए गए थे। समाधान के लिए रोहित धन्यवाद :) –

3

यह भी पता है कि एंड्रॉइड> = 3.1 में ऐप 'रुक गया' स्थिति में स्थापित हो जाता है और जब तक उपयोगकर्ता कम से कम एक बार ऐप के साथ कुछ करता है तब तक बूट और शटडाउन ईवेंट नहीं मिलेंगे। this post on the topic.

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

  • कोई संबंधित समस्या नहीं^_^