记录一些项目中遇到的问题
程序员文章站
2022-07-12 13:17:19
...
2018-4-10
在Adapter中启动Activity的时候报了异常,代码是这样的
MyApplication.getInstance().startActivity(MyApplication.getContext(),MainActivity.class);
结果报了如下异常
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
查阅资料后发现Activity重写了Context的startActivity方法,为启动的Activity分配了Task,非Activity启动时没有给分配任务栈的,所以需要指定一下Flag
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
确实可以解决问题,但是考虑到它会干扰事件和历史堆栈的正常流动,所以选择在Adapter的构造中传递Activity对象实现该操作
public ListviewAdapter(Activity activity){
mActivity = activity;
}
mActivity.startActivity(new Intent(mActivity, MainActivity.class);
完美解决问题2018-5-22
模拟器无法启动问题
打开的时候,闪一下就没有了,提示
Emulator: Could not launch 'X:\XXX\sdk\emulator/qemu/windows-x86_64/qemu-system-i386.exe': No such file or directory
解决
tool -> android->sdk manger->sdk-tools->android emulator 点击apply
参照自博客
2018-5-30
vivo 8.1调用系统相机拍照,拍完后点击确定无反应,无法回退到APP,其他8.0手机没问题,返回的是URI
android 8.0检测更新,下载apk后跳转到安装界面提示安装包解析错误,8.0以下没问题
2018-6-8
项目使用到popupwindow,自定义了一个类似微信右上角那样的弹窗,在华为7.0上没有问题,在小米4.4.4上出现了问题, 显示出来之后,页面想死机了一样,哪里都不能点,返回键也不管用,经查找之后才发现,需要给popupwindow的根view设置setBackgroundDrawable();因为样式已经定义好,所以直接传入一个透明的ColorDrawable,解决了该问题,参考自博客