我尝试创建一个Alarm应用程序,我创建了一个WakefulBroadcastReceiver,其中onRecive方法我有:
public void onReceive(Context context, Intent intent)
{
System.out.println("onRecive Alarm broadcast");
Intent service = new Intent(context, AlarmService.class);
startWakefulService(context, service);
}
虽然我的闹钟服务是这样的:
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
super.onStartCommand(intent, flags, startId);
Calendar calendar = Calendar.getInstance();
long millisec = calendar.getTimeInMillis();
sendNotification("Messaggio della notifica");
System.out.println("onHandleIntent: " + getDate(millisec,"dd/MM/yyyy HH:mm:ss"));
AlarmBroadcastReceiver.completeWakefulIntent(intent);
return START_STICKY;
}
如果我不按预期杀死我的应用程序,但如果我关闭应用程序,则服务永远不会被解雇。 错误在哪里? 在我的清单上,我已经补充说:
<uses-permission android:name="android.permission.WAKE_LOCK" />
答案 0 :(得分:-1)
如果您想制作一个警报应用程序,并希望在用户关闭应用程序后的指定时间后显示通知,那么您必须使用待处理的意图。请仔细阅读以下链接:
https://developer.android.com/reference/android/app/PendingIntent.html