1:BUG现象 android更新安装包,安装APK以后出现完成和打开,点打开以后闪退到系统主界面(原本应该是打开运行app应用)

这个现象是由于我我在AndroidManifest.xml的主Activity设置了android:launchMode="singleTask"。

原代码

         Intent intent = new Intent();// 执行动作intent.setAction(Intent.ACTION_VIEW);// 执行的数据类型intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");context.startActivity(intent);


singleTask模式的Activity不管是位于栈顶还是栈底,再次运行这个Activity时,都会destory掉它上面的Activity来保证整个栈中只有一个自己

Intent 对象里包含了 FLAG_ACTION_NEW_TASK,情况将发生变化,–系统将为新的 Activity “寻找”一个不同于调用者的 Task


解决方案是增加 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

Intent intent = new Intent();// 执行动作intent.setAction(Intent.ACTION_VIEW);        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 执行的数据类型intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");context.startActivity(intent);


更多相关文章

  1. WebView加入动画后白屏卡顿的现象
  2. Android高效加载大图、多图解决方案,有效避免程序内存溢出现象
  3. Android中Data和String数据类型转换
  4. Android中intent如何传递自定义数据类型
  5. 常用Android应用程序中的Intent动作
  6. Android 的动作、广播、类别等标识大全
  7. Android中Bundle支持的数据类型
  8. Android不兼容和版本混乱现象严重
  9. Android 教程之实现动作感应技术

随机推荐

  1. android布局的一些知识
  2. android模块&相关技术
  3. 调试Android WebView
  4. Android跨进程通信之AIDL
  5. 写TextView的Selector了解到的android读
  6. Android的多媒体框架OpenCore(PacketVideo
  7. 在Ubuntu上下载、编译、运行Android内核L
  8. 基于Android官方DrawerLayout实现抽屉导
  9. Cortex-A8和Android应用开发视频教程
  10. Android按键添加和处理的方案