簡體   English   中英

啟動應用程序啟動完成

[英]Starting application on boot completed

以下是我打開設備時用於啟動應用程序的代碼。

public class BootReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("BootReceiver","intent received");

        Intent myIntent = new Intent(context, ACT_Home.class);
        myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(myIntent);
    }

}

並在清單中(作為<Application> child):

<receiver android:name="host.alarmmanager.BootReceiver">
   <intent-filter >
      <action android:name="android.intent.action.BOOT_COMPLETED"/>
   </intent-filter>
</receiver>

Manifest中的權限如下:

<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

這在Android 3.2.2上工作正常,但如果我在Android 4.0.3上嘗試相同的應用程序,廣播接收器不會收到任何東西。 此外, onReceive方法中的第一行未被強制執行。 為什么會這樣?

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

這應該在android清單中使用

試試這個,雖然你的代碼看起來很好! 以下是為我工作。

    <!-- Receivers -->
    <receiver android:enabled="true" android:name="host.alarmmanager.BootReceiver"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">

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

通過從電源菜單中選擇重啟選項,確保沒有重新啟動手機。

Android奇怪有2個不同的權限。

1.Reboot

2.開機完成

所以,首先關閉手機電源然后再打開電源幾秒鍾!

希望能幫助到你! (Y)

暫無
暫無

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

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