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

fsxfsxfsx 2014-07-18 03:02:02
Android程序自己下好更新包后,调用了系统来安装,这时候能检测到安装过程中用户点了取消或者安装完成吗?
...全文
359 12 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
好像不行 不过你想实现什么需求?监听这个做什么用?
       Android零基础入门这门课程的目标:带您走进Android大门,了解Android整体框架,演变发展历史 ;掌握Android编程的基础概念,教您构建各种应用程序:从Hello World开始,直到带有调度作业、更新设置、访问网络和使用架构组件的应用程序;课程结束后,能自己动手编写一定难度的Android程序,具备自学更高级开发的基础,能看懂开源的Android代码。      课程整体上分5个大的模块依次展开:      1.入门 (第1~3章)      2.用户体验(第4~6章)      3.在后台运行(第7~8章)      4.保存用户数据(第9~10章)      5.应用上架(第11章)。课程大纲如下:第1章. 构建您的第一个应用程序       1. 对Android有基本认识,搞懂Android系统整体框架,Android不同版本以及这些版本演变过程       2.以HelloWord为例,了解Android app的程序结构       3.Android UI的基础知识-视图和布局,初步介绍Android View的事件处理,及图片等资源的使用等第2章.  Activity和Intent       1.Activity 和 Intent 基础和用法       2.Activity生命周期和回调       3.Activity实例状态第3章. 测试应用 调试应用 及使用Support library       1.讲解Android两个主要的应用程序调试方法:日志 和 断点       2.如何对App进行单元测试       3.介绍Android中用于向后兼容的 Support library及用法第4章. 用户交互        讲解Android中常用控件的使用方法和注意事项,如按钮、输入控件、菜单、对话框、用户导航、列表等第5章. 令人愉快的用户体验      1.学会使用Drawables      2.使用Android studio中的图片和矢量图      3.讲解Android中主题和样式,以及如何定制主题和样式      4.Android著名的应用设计理念Material design,通过Material design打造极致的用户体验      5.如何让布局自适应不同尺寸的手机第6章. 界面测试        介绍Android UI自动化测试 Espresso第7章.后台任务        学会Android多线程编程,使用非UI线程在后台完成耗时任务,从网络存取数据。撑握Android的广播和后台服务第8章. 闹钟和调度程序       掌握Android定时任务和调度作业第9章.首选项和设置       学会使用Preferences保存用户数据,编写应用的设置界面,存取设置数据第10章.使用 Room 存储数据       学会使用Android SQLite数据库,通过Room组件对数据库增删改查,掌握LiveData和 ViewModel等架构组件第11章:App上架​     1.学会App在国内应用市场上架​     2.学会App在Google play上架课程中如果讲的不对的地方,请大家指出,我及时修正,我们共同努力,一起进步。

80,352

社区成员

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

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