android 一些少见和小细节BUG
16lz
2021-01-23
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);
更多相关文章
- WebView加入动画后白屏卡顿的现象
- Android高效加载大图、多图解决方案,有效避免程序内存溢出现象
- Android中Data和String数据类型转换
- Android中intent如何传递自定义数据类型
- 常用Android应用程序中的Intent动作
- Android 的动作、广播、类别等标识大全
- Android中Bundle支持的数据类型
- Android不兼容和版本混乱现象严重
- Android 教程之实现动作感应技术