Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.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 安卓召回服务_Android - Fatal编程技术网

Android 安卓召回服务

Android 安卓召回服务,android,Android,如果我在活动中,我使用以下代码调用服务b: String start = "start"; Intent i = new Intent(QScheduleActivity.this, UploadService.class); i.putExtra("start", start); startService(i) 一旦我进入该服务,如果需要,我如何从该服务中调用该服务 在else中,我试图回忆如下服务: Calendar cal = Calendar.g

如果我在活动中,我使用以下代码调用服务b:

String start = "start";
    Intent i = new Intent(QScheduleActivity.this, UploadService.class);
    i.putExtra("start", start);
    startService(i)
一旦我进入该服务,如果需要,我如何从该服务中调用该服务

在else中,我试图回忆如下服务:

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MINUTE, 30);
        String start = "start";
        Intent i = new Intent(UploadService.this, UploadService.class);
        i.putExtra("start", start);
        PendingIntent sender = PendingIntent.getBroadcast(this, 192837, i, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender); 
看看这门课。我认为它提供了您所需要的功能,尽管可能与您描述的方式不同

从文件中:

此类提供对 系统报警服务。这些允许你 计划要运行的应用程序 在将来的某个时候。当 闹钟响了,那辆车坏了 已注册,由 系统,自动启动 目标应用程序(如果不是) 已经在运行了。已登记的警报为 在设备处于睡眠状态时保留 (并且可以选择唤醒设备 如果他们在这段时间内爆炸),但是 如果将其关闭,将被清除 然后重新启动

在else中,我试图回忆如下服务:

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.MINUTE, 30);
        String start = "start";
        Intent i = new Intent(UploadService.this, UploadService.class);
        i.putExtra("start", start);
        PendingIntent sender = PendingIntent.getBroadcast(this, 192837, i, PendingIntent.FLAG_UPDATE_CURRENT);
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender); 

您要求的是
getBroadcast()
pendingent
。如果您的目标是让报警调用
startService()
,您应该使用
getService()
pendingent

希望我的解释正确..我想进入UploadService.class,这会检查是否存在internet连接,然后将文件上载到服务器,但是如果没有互联网连接,我想把它放在else语句中,让它自己回忆起来……所以回忆会一直发生,直到有互联网连接并且文件被上传。嗯,如果有人知道一种方法,可能会在检查互联网连接之前等待30分钟,因为我知道这会耗尽电池耶,我已经尝试过了但这似乎不起作用,我在想,可能是我没有正确调用服务…或者可能是从服务中调用服务的问题我建议您发布另一个关于使用AlarmManager的问题,包括您正在使用的代码。我已将其添加到此中,但我的第一个问题是从内部调用服务service@Usmaan:我认为您要做的是创建FileUploader服务,以便它始终在响应警报时运行。第一个警报将立即运行,这样,如果您已经具有连接,上传文件时就不会延迟。如果上传失败,则设置另一个警报,在30分钟后重试。(创建此功能还有其他方法,但我觉得这种方法最简单。)