• android开发针对小米、三星、华为8.0+系统个别型号打开应用闪退


    最近开发中有个别客户反馈新换的三星、小米或者华为手机打开应用就闪退,而且是个别型号。针对这种情况特别查阅了一些资料,原因是8.0+系统的手机不允许后台创建服务,那么怎么修改呢,请看代码:

    1.修改启动方法

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
        context.startForegroundService(intent);
    } else {
        context.startService(intent);
    }
    

    2.在service里onCreate()方法中再调用startForeground方法,不然就会出现ANR

    startForeground(1, new Notification());

    好了,以上就是这个问题的解决方法如果这些东西修改过了,你的应用还是闪退,不要急,检查一些你的应用中是否使用了极光推送等第三方服务,如果有问题就出在这里,在清单文件里面极光推送有个相互拉起的服务,这是个可选项,如下

    <!-- 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
            <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
         <!--   <service
                android:name="cn.jpush.android.service.DaemonService"
                android:enabled="true"
                android:exported="true">
                <intent-filter>
                    <action android:name="cn.jpush.android.intent.DaemonService" />
    
                    <category android:name="com.yzssoft.weiyifamily" />
                </intent-filter>
            </service>-->

    把以上代码给注释掉就OK了,有遇到此类情况的朋友赶快试一试吧。

  • 相关阅读:
    mongoDB知识总结
    利用js来实现一些常用的算法
    onclick和onblur的冲突问题
    GitHub 基本操作流程
    Spark UDAF实现举例 -- average pooling
    信息论基本概念
    【神经网络和深度学习】笔记
    【神经网络和深度学习】笔记
    【神经网络和深度学习】笔记
    【神经网络和深度学习】笔记
  • 原文地址:https://www.cnblogs.com/yzssoft/p/9933767.html
Copyright © 2020-2023  润新知