Android 在应用程序安装请求后等待用户操作?
我有一个后台服务,负责检查来自服务器的更新 这些服务启动一个AsyncTask,负责实际检查和下载更新 然后我启动一个意图,请求用户安装或取消安装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
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()
的活动
如果此检查是一项定期任务,请确保您使用作业调度器
优化电池使用并避免操作系统终止您的服务。如果用户按下任何按钮,您需要做什么?如果用户按下任何按钮,您需要做什么?