Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用alarm manager启动意向服务_Android_Android Intent - Fatal编程技术网

Android 如何使用alarm manager启动意向服务

Android 如何使用alarm manager启动意向服务,android,android-intent,Android,Android Intent,我想用alarm manager启动我的意向服务,我的意向服务正在由服务启动。。但是我做不到,请帮我做 这是我的密码 服务代码 public void onCreate() { Intent intent = new Intent(this, DownloadService.class); startService(intent); Calendar cal = Calendar.getInstance(); cal.add(

我想用alarm manager启动我的意向服务,我的意向服务正在由服务启动。。但是我做不到,请帮我做 这是我的密码 服务代码

public void onCreate() {

        Intent intent = new Intent(this, DownloadService.class);

        startService(intent);

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.SECOND, 10);

        PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
        AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                10 * 1000, pintent);
        alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP,
                cal.getTimeInMillis(), 10 * 1000, pintent);

    }


    public int onStartCommand(Intent intent, int flags, int startId) {

        Toast t = Toast.makeText(getApplicationContext(), "in service onSatrt commandf ", Toast.LENGTH_LONG);
        t.show();

        intent = new Intent(this, DownloadService.class);

        startService(intent);
        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.SECOND, 10);

        PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
        AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
                10 * 1000, pintent);
        alarm.setInexactRepeating(AlarmManager.RTC_WAKEUP,
                cal.getTimeInMillis(), 10 * 1000, pintent);
        return super.onStartCommand(intent, flags, startId);
    }

    public IBinder onBind(Intent arg0) {

        return null;
    }
试试这个

您需要使用
pendingent.FLAG\u UPDATE\u CURRENT

pendingent pintent=pendingent.getService(this,0,intent,0)更改代码

PendingIntent pintent = PendingIntent.getService(this,
                        0,  serviceIntent, PendingIntent.FLAG_UPDATE_CURRENT);

谢谢你的回复,可能是重复的。。但我是否需要为待定意图定义其他意图。。。。。。。我应该在哪个生命周期阶段(在哪个函数中)定义它,这样它就可以在不中断的情况下运行。你可以使用你在问题中使用的退出意图。它不起作用。。。请给我建议别的办法!!你在哪里叫这个??是否尝试您问题下的链接?是否检查