我在我的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>
答案 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>