使用BOOT_COMPLETED

时间:2014-08-28 13:24:31

标签: android android-manifest

我在我的app中使用了use-permission“BOOT_COMPLETED”,但没有用。 重置手机后,应用程序错误“遗憾已停止”。 我的问题是什么?

public class BootUpReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, AlarmReceiverActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
    }
}

清单:

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

2 个答案:

答案 0 :(得分:0)

您似乎错过了接收器开始标记

 <receiver android:name=".BootUpReceiver " >

并将您的许可更改为

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

而不是

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

即。将您的清单代码重写为

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".BootUpReceiver " >
       <intent-filter>
           <action android:name="android.intent.action.BOOT_COMPLETED" />
       </intent-filter>
   </receiver>

答案 1 :(得分:0)

权限行应为:

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

接收者的声明应该是(没有类别):

<receiver android:name="com.your.receiver.YourBootReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>