Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.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_Android Asynctask - Fatal编程技术网

Android 在应用程序安装请求后等待用户操作?

Android 在应用程序安装请求后等待用户操作?,android,android-asynctask,Android,Android Asynctask,我有一个后台服务,负责检查来自服务器的更新 这些服务启动一个AsyncTask,负责实际检查和下载更新 然后我启动一个意图,请求用户安装或取消安装 Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(newFile(SystemConstants.UPDATE_DOWNLOAD_PATH+fileName)),"application/vnd.android.packagearchi

我有一个后台服务,负责检查来自服务器的更新

这些服务启动一个AsyncTask,负责实际检查和下载更新

然后我启动一个意图,请求用户安装或取消安装

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(newFile(SystemConstants.UPDATE_DOWNLOAD_PATH+fileName)),"application/vnd.android.packagearchive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
活动
中,我会
开始策略验证结果
,但由于
服务
已启动请求,我很难弄清楚如何等待用户响应

如何在AsyncTask中等待用户选择操作

谢谢

我很难弄清楚如何等待用户响应

如果您需要反馈,那么您的服务不应直接激发此意图。取而代之的是,你们的应用程序中应该有“中间人”,很可能是另一个活动,一旦服务部门告诉你们,它就会激发你们的意图。由于这是一项常规活动,您可以使用
startActivityForResult()

然而,我认为你应该阅读(绿色机器人、奥托、番石榴),因为这可能有助于你的应用程序内交流

我很难弄清楚如何等待用户响应

如果您需要反馈,那么您的服务不应直接激发此意图。取而代之的是,你们的应用程序中应该有“中间人”,很可能是另一个活动,一旦服务部门告诉你们,它就会激发你们的意图。由于这是一项常规活动,您可以使用
startActivityForResult()


然而,我认为你应该阅读(GreenRobot's,OTTO's,Guava's),因为这可能有助于你的应用程序内交流。

首先,在后台开始下载对我来说似乎是一种不好的做法,除非它的大小非常小。应该让用户知道有升级,并询问是否可以继续

除此之外,我认为您应该使用
Notification
pendingent
。当用户单击您的通知时,您的挂起意图将打开一个启动您的
startActivityForResult()
活动


如果此检查是一项定期任务,请确保您使用
作业调度程序来优化电池使用,并避免操作系统终止您的服务。

首先,在后台开始下载对我来说似乎是一种不好的做法,除非它的大小非常小。应该让用户知道有升级,并询问是否可以继续

除此之外,我认为您应该使用
Notification
pendingent
。当用户单击您的通知时,您的挂起意图将打开一个启动您的
startActivityForResult()
活动


如果此检查是一项定期任务,请确保您使用
作业调度器
优化电池使用并避免操作系统终止您的服务。

如果用户按下任何按钮,您需要做什么?如果用户按下任何按钮,您需要做什么?