Android STICKY服务

时间:2017-01-11 22:40:10

标签: android android-intent service alarm

我尝试创建一个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" />

1 个答案:

答案 0 :(得分:-1)

如果您想制作一个警报应用程序,并希望在用户关闭应用程序后的指定时间后显示通知,那么您必须使用待处理的意图。请仔细阅读以下链接:

https://developer.android.com/reference/android/app/PendingIntent.html