簡體   English   中英

引導接收器可在模擬器上運行,但不能在Android實際手機上運行

[英]Boot Reciever Working on Emulator but not android actual phone

在啟動完成后,我正在啟動在模擬器上完美運行的服務,但是當我在android手機上運行時,廣播接收器無法啟動服務。 Infact應用程序甚至沒有收到設備啟動完成的廣播。

這是我的清單文件:

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="14" />

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

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_logo"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

    <receiver
        android:name="com.darkrai.smsbasedcontroller.BootReciever"
        android:enabled="true"
        android:exported="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

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

這是我的廣播接收器課程。

public class BootReciever extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
    context.startService(new Intent(context, UpdateService.class));
    Log.d("Boot", "Boot Reciever");
}

某些設備(主要是HTC)具有稱為快速重啟的功能,不會觸發BOOT_COMPLETED 相反,它們觸發QUICKBOOT_POWERON

因此,還要添加此權限<action android:name="android.intent.action.QUICKBOOT_POWERON" />

<receiver
        android:name="com.darkrai.smsbasedcontroller.BootReciever"
        android:enabled="true"
        android:exported="false" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
        </intent-filter>
    </receiver>

您的BroadcastReceiver (對於任何操作)將不會接收任何廣播,除非設備上的某些內容使用顯式的Intent啟動您的組件之一。 通常,這以用戶在啟動器中點擊您的Activity的形式出現。

因此,添加一個LAUNCHER Activity ,點擊它,然后您將收到廣播,直到:

  • 用戶強制停止您(通常通過“設置”應用程序),或者
  • 用戶卸載您的應用

我遇到了同樣的問題,而不是您的代碼問題或其他問題。 由於miui,我正面臨這個問題。 Miui的每個應用程序均禁用了自動啟動權限。 如果您還使用miui設備,則可以執行以下選項。當您允許自動啟動許可時,您的廣播接收器將收到ACTION_BOOT_COMPLETED。 您可以通過設置>已安裝的應用程序>您的應用程序>自動啟動來允許自動啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM