デバイスが起動したときにアラームを開始したいので、次のことを行いました
1) ユーザー権限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2) マニフェスト ファイルにインテント アクションを含むレシーバーを追加する
<receiver
android:name=".sms.BootReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" >
</action>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
3) ソース
public class BootReceiver extends BroadcastReceiver {
private AlarmManager dayAlarmMgr;
private PendingIntent dayAlarmIntent;
private NotificationManager mNotificationManager;
private NotificationCompat.Builder builder;
private Context context;
public static final int NOTIFICATION_ID = 2;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
Toast.makeText(context, "FIRED BOOT COMPLETE" , Toast.LENGTH_LONG).show();
}
}
}
上記のコードはgenymotionでは機能していますが、実際のデバイスでは機能していません