0
我有一個類叫做StopAlarmReceiver和另一個BootHandler。重啓後不能正常工作的Android報警重置
BootHandler在引導之前設置的重新啓動後重置警報。我的問題是,BootHandler設置報警,但沒有被解僱。
Manifest文件中的條目。
<receiver
android:name="com.sign.android.myscheduler.app.StopAlarmReceiver"
android:enabled="true"
android:exported="true" >
</receiver>
<receiver
android:name="com.sign.android.myscheduler.app.BootHandler"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
BootHandler中的代碼。
AlarmManager mgr= (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, StopAlarmReceiver.class);
PendingIntent pi = PendingIntent.getService(context, 1, i, 0);
long time = sharedPreferences.getLong("Old_time", 0);
Log.e(TAG, "New time: " +new Date(SystemClock.elapsedRealtime() + time));
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + time, 5000, pi);
你是否持有'BOOT_COMPLETED'權限?你在這個應用程序中運行一個活動? – CommonsWare
是的我有<使用權限android:name =「android.permission.RECEIVE_BOOT_COMPLETED」/>權限。用戶可以通過登錄到應用程序活動來設置警報。然後關閉應用程序。 –