Android怎么检测的自己的程序更新安装完成

fsxfsxfsx 2014-07-18 03:02:02
Android程序自己下好更新包后,调用了系统来安装,这时候能检测到安装过程中用户点了取消或者安装完成吗?
...全文
370 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
I_托尼 2016-08-05
  • 打赏
  • 举报
回复
可以实现这个功能
韩曙亮 2014-07-18
  • 打赏
  • 举报
回复
引用 10 楼 fsxfsxfsx 的回复:
[quote=引用 9 楼 han1202012 的回复:] 不要使用 startActivity 使用 start\ActivityForResult() , 在 onActivityResult()里面判断是否安装成功, packageManager 检测 包名 和 版本号 估计安装成功了 程序都没了 可能执行不了这个方法了 , 如果点了 取消 还能执行 onActivityResult 估计就是没安装好 LZ你试试吧 参考 : http://blog.csdn.net/gxj1680/article/details/8688382
这个开始我想了,但是我是在service里调用了安装函数,这样用不了onActivityResult了吧[/quote] 在 Activity 里面一样啊 反正都是组件 一旦程序被重装成功, 都没了
fsxfsxfsx 2014-07-18
  • 打赏
  • 举报
回复
引用 9 楼 han1202012 的回复:
不要使用 startActivity 使用 start\ActivityForResult() , 在 onActivityResult()里面判断是否安装成功, packageManager 检测 包名 和 版本号 估计安装成功了 程序都没了 可能执行不了这个方法了 , 如果点了 取消 还能执行 onActivityResult 估计就是没安装好 LZ你试试吧 参考 : http://blog.csdn.net/gxj1680/article/details/8688382
这个开始我想了,但是我是在service里调用了安装函数,这样用不了onActivityResult了吧
韩曙亮 2014-07-18
  • 打赏
  • 举报
回复
不要使用 startActivity 使用 start\ActivityForResult() , 在 onActivityResult()里面判断是否安装成功, packageManager 检测 包名 和 版本号 估计安装成功了 程序都没了 可能执行不了这个方法了 , 如果点了 取消 还能执行 onActivityResult 估计就是没安装好 LZ你试试吧 参考 : http://blog.csdn.net/gxj1680/article/details/8688382
foruok 2014-07-18
  • 打赏
  • 举报
回复
安装时系统会干掉你的apk,怎么看呢。 博文决赛,投我一票,谢谢。
sagittarius1988 2014-07-18
  • 打赏
  • 举报
回复
引用 6 楼 fsxfsxfsx 的回复:
[quote=引用 5 楼 sagittarius1988 的回复:] [quote=引用 4 楼 fsxfsxfsx 的回复:] [quote=引用 2 楼 sagittarius1988 的回复:] 有没有广播部清楚,但是你可以操作时看 看logcat有什么输出,可能有用
安装用的这段代码,交给系统去了 private void installApplication(Context context, String packagePath) { if (!TextUtils.isEmpty(packagePath)) { Intent i = new Intent(Intent.ACTION_VIEW); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setDataAndType(Uri.parse("file://" + packagePath), "application/vnd.android.package-archive"); context.startActivity(i); } } [/quote] 就是让你去看点击安装和取消的操作log[/quote] 点击安装和点击取消这个没问题,就是当安装完成的时候应该怎么判断,还有就是安装到了一半的时候这时候用户点取消能知道吗?[/quote] 我想这些操作,logcat都有信息输出的
fsxfsxfsx 2014-07-18
  • 打赏
  • 举报
回复
引用 5 楼 sagittarius1988 的回复:
[quote=引用 4 楼 fsxfsxfsx 的回复:] [quote=引用 2 楼 sagittarius1988 的回复:] 有没有广播部清楚,但是你可以操作时看 看logcat有什么输出,可能有用
安装用的这段代码,交给系统去了 private void installApplication(Context context, String packagePath) { if (!TextUtils.isEmpty(packagePath)) { Intent i = new Intent(Intent.ACTION_VIEW); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setDataAndType(Uri.parse("file://" + packagePath), "application/vnd.android.package-archive"); context.startActivity(i); } } [/quote] 就是让你去看点击安装和取消的操作log[/quote] 点击安装和点击取消这个没问题,就是当安装完成的时候应该怎么判断,还有就是安装到了一半的时候这时候用户点取消能知道吗?
sagittarius1988 2014-07-18
  • 打赏
  • 举报
回复
引用 4 楼 fsxfsxfsx 的回复:
[quote=引用 2 楼 sagittarius1988 的回复:] 有没有广播部清楚,但是你可以操作时看 看logcat有什么输出,可能有用
安装用的这段代码,交给系统去了 private void installApplication(Context context, String packagePath) { if (!TextUtils.isEmpty(packagePath)) { Intent i = new Intent(Intent.ACTION_VIEW); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setDataAndType(Uri.parse("file://" + packagePath), "application/vnd.android.package-archive"); context.startActivity(i); } } [/quote] 就是让你去看点击安装和取消的操作log
fsxfsxfsx 2014-07-18
  • 打赏
  • 举报
回复
引用 2 楼 sagittarius1988 的回复:
有没有广播部清楚,但是你可以操作时看 看logcat有什么输出,可能有用
安装用的这段代码,交给系统去了 private void installApplication(Context context, String packagePath) { if (!TextUtils.isEmpty(packagePath)) { Intent i = new Intent(Intent.ACTION_VIEW); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setDataAndType(Uri.parse("file://" + packagePath), "application/vnd.android.package-archive"); context.startActivity(i); } }
fsxfsxfsx 2014-07-18
  • 打赏
  • 举报
回复
引用 1 楼 gondole 的回复:
好像不行 不过你想实现什么需求?监听这个做什么用?
就是app上线后需要用户的操作日志,比如从哪个页面进入主界面啊,点击交费啊什么的,现在版本更新这部分要写日志,所有想问问。
sagittarius1988 2014-07-18
  • 打赏
  • 举报
回复
有没有广播部清楚,但是你可以操作时看 看logcat有什么输出,可能有用
Gondole王然 2014-07-18
  • 打赏
  • 举报
回复
好像不行 不过你想实现什么需求?监听这个做什么用?

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧