• Android 开发学习进程0.22 android 少见的报错问题


    Android 特殊报错

       Android 有时会出现一些比较少见的出错原因,大致有权限问题,版本问题等。类别和解决方式见下文。

    7.0 context启动activity问题

    错误提示:

    04-09 15:55:08.165: E/AndroidRuntime(3403): 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方法startActivity() 和context的方法startActivity()的不同,在7.0下的部分机型中使用context启动activity的方法需要添加flag.NET_TASK即在intent添加flag属性,如下代码
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    但在一些intent中使用了Intent.createChooser()的方法中,即使是7.0以上 的机型也会崩溃,因此也需要添加上面的的代码。但形式为:
    Utils.getContext().startActivity(Intent.createChooser(shareIntent, "分享到").addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
    具体原因为createChooser仅传递intent,没有拿到flag。

    Android 本地化问题

       Android本地化即使用不同种类的string.xml文件,达到多语言的效果,但我们并不能手动翻译,工作量太大,但Androidstudio上有很多提供的翻译插件可以实现一键多语种string文件生成的效果,作者使用的为AndroidLocalizer 直接在插件市场搜索即可,需要注意的是部分插件仅支持谷歌翻译API 而一些国人写的可以支持百度翻译API,在这里需要说明一下,作者在这里浪费了很多时间,申请百度API时,分为普通版和高级版,高级版需要身份证验证,而普通版不需要,但翻译速度和总词数少了一些,但还是够用的,笔者开始使用的是普通版,生成的所有string文件都没有改变,还是原来默认的英文,折腾许久尝试了好几个插件才发现并不是插件的问题,百度普通版的 每秒翻译次数很低,插件获取不到,才出现了超时现象,无奈之下只能将身份证号贱卖给万恶的百度...

  • 相关阅读:
    Unity3D ShaderLab 立方体图的反射遮罩
    Unity3D ShaderLab 简单的立方体图反射
    Unity3D ShaderLab 各向异性高光
    Unity3D ShaderLab 使用贴图对模型的高光进行遮罩
    Unity3D ShaderLab 使用BlinnPhong高光类型
    Unity3D ShaderLab 创建自定义高光类型
    Unity3D ShaderLab 基础的高光实现
    Unity3D ShaderLab法线贴图
    Unity3D ShaderLab压缩混合纹理贴图
    Java几种建立实例的方法
  • 原文地址:https://www.cnblogs.com/baimiyishu/p/13703046.html
Copyright © 2020-2023  润新知