Caused by java.lang.IllegalStateException Not allowed to start service Intent { cmp=com.x.x.x/.x.x.xService }: app is in background uid UidRecord问题原因分析(二)
摘要:应用在适配Android 8.0以上系统时,会发现后台启动不了服务,会报出如下异常,并强退: 问题原因分析 Android 8.0 行为变更 https://developer.android.com/about/versions/oreo/android-8.0-changes.html#back
阅读全文
posted @
2019-04-17 19:43
mingfeng002
阅读(9458)
推荐(1)
like模糊查询%注入问题
摘要:android like 全局模糊查找文件命名 通过条件通过 like %search% 如果查找的关键字是% 那么就成了 like %%% 就会查找出所有的文件 解决办法是先把正则里面的匹配符 替换成转义字符 这个时候 还需要 告诉sql语句那个字符是转义的 需用到 escape "/"替换转义字
阅读全文
posted @
2018-12-06 20:05
mingfeng002
阅读(3202)
推荐(0)
Caused by java.lang.IllegalStateException Not allowed to start service Intent { cmp=com.x.x.x/.x.x.xService }: app is in background uid UidRecord(一)
摘要:Caused by java.lang.IllegalStateException Not allowed to start service Intent { cmp=com.x.x.x/.x.x.xService }: app is in background uid UidRecord{7d9f
阅读全文
posted @
2018-09-14 17:14
mingfeng002
阅读(11502)
推荐(0)
Android官方架构组件介绍之应用(四)
摘要:讲一个项目常见的功能,友盟统计功能 例如一个项目有很多多modlue,每个里面modlue都有Activity,Activity需要友盟统一,Fragment也需要友盟统计。一般做法就是继承一个BaseActivity,BaseFragment。 然后在BaseActivity,BaseFragme
阅读全文
posted @
2018-07-27 18:06
mingfeng002
阅读(435)
推荐(0)
Android官方架构组件介绍之ViewModel(三)
摘要:ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的。Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构。作为开发者,这些行为我们是无法干预的。 所以Activ
阅读全文
posted @
2018-07-27 18:05
mingfeng002
阅读(422)
推荐(0)
Android官方架构组件介绍之LiveData(二)
摘要:LiveData LiveData是一个用于持有数据并支持数据可被监听(观察)。和传统的观察者模式中的被观察者不一样,LiveData是一个生命周期感知组件,因此观察者可以指定某一个LifeCycle给LiveData,并对数据进行监听。 如果观察者指定LifeCycle处于Started或者RES
阅读全文
posted @
2018-07-27 18:05
mingfeng002
阅读(457)
推荐(0)
Android官方架构组件介绍之LifeCycle(一)
摘要:Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等。其实看了上面视频的会发现Google官方Android架构组件一共包括以下几个: LifeCycle : 与Activ
阅读全文
posted @
2018-07-27 18:04
mingfeng002
阅读(1056)
推荐(0)
Android 平台 Native 代码的崩溃捕获机制及实现
摘要:https://github.com/xroche/coffeecatch https://github.com/ivanarh/jndcrash https://github.com/mingfeng002/ndcrash https://zhuanlan.zhihu.com/p/27834417
阅读全文
posted @
2018-07-27 17:24
mingfeng002
阅读(14196)
推荐(1)
提高Service提高进程优先级别,不被系统容易杀死
摘要:1.首先要了解lowmemroykiller机制 在Android的lowmemroykiller机制中,会对于所有进程进行分类,对于每一类别的进程会有其oom_adj值的取值范围,oom_adj值越高则代表进程越不重要,在系统执行低杀操作时,会从oom_adj值越高的开始杀。 详情可以查看这批文章
阅读全文
posted @
2018-04-03 15:49
mingfeng002
阅读(420)
推荐(0)
android Firebase中配置 Crashlytics
摘要:首先登陆Google账号 https://firebase.google.com/ 创建项目 配置Android 1.注册应用 2.下载配置文件 3.添加firebaseSDk 配置后台分析的Crashlytics 此应用是第一次安装 Crashlytics 吗? https://firebase.
阅读全文
posted @
2018-03-07 19:26
mingfeng002
阅读(2175)
推荐(0)
https Android 5.0 以下TLS 版本过低造成的问题
摘要:异常如下 javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x610df808: Failure in SSL library, usually a
阅读全文
posted @
2018-02-09 18:22
mingfeng002
阅读(6535)
推荐(0)
JobService 7.0 定时任务不生效
摘要:代码 这段定时任务在每隔5秒执行一次任务,Android 5.0和6.0系统能够正常运行.但是在Android7.0不能正常工作了。 https://stackoverflow.com/questions/39641278/job-scheduler-in-android-n-with-less-t
阅读全文
posted @
2018-02-02 18:16
mingfeng002
阅读(12102)
推荐(0)
AndroidStudio打包jar
摘要:1.像平常一个样新建一个项目 2.(在步骤1的基础上)点击File-->New-->New Module—>选择Android Library-->点击Next(如下图:) 定义好Library的工程名: 创建完成: 生成jar: 在library工程下的build.gradle中加上: andro
阅读全文
posted @
2017-10-24 16:47
mingfeng002
阅读(526)
推荐(0)
android 闹钟设置问题
摘要:Android开发中,alarmManager在5.0以上系统,启动时间设置无效的问题 做一个app,需要后台保持发送心跳包。由于锁屏后CPU休眠,导致心跳包线程被挂起,所以尝试使用alarmManager定时唤醒Service发送心跳包。以下是开启alarmManager的代码 做一个app,需要
阅读全文
posted @
2017-06-19 11:24
mingfeng002
阅读(2185)
推荐(0)
execlp启动android进程命令
摘要:execlp启动Android界面或service/广播参数设置 -n代表打开组件-d代表 data-a代表action 打开网页 调用am命令 打开Activity 命令窗口通过adb shell 进入android 的Linux命令界面,输入am -help看到如下信息: 我们可以通过命令启动a
阅读全文
posted @
2017-06-02 17:14
mingfeng002
阅读(787)
推荐(0)
apk瘦身
摘要:apk瘦身 1.代码混淆 代码混淆左右 1.混淆 2.压缩类名,变量名,方法名 3.打包的时候,没用被用到类不会打入apk的dex中 如图压缩的有类名,方法名。可以看到压缩的代码类名和方法名变短了 配置压缩级别在项目的proguard-rules.pro文件 # 代码混淆压缩比,在0~7之间,默认为
阅读全文
posted @
2017-03-03 15:50
mingfeng002
阅读(395)
推荐(0)
notepad++查看Log
摘要:安装步骤:打开notepad++,插件→ Plugin Manager→ Show Plugin Manager→ Avaliable→ 等待插件列表刷新出来后,选中Android Logger插件→ 点击install安装插件→ 安装插件完成,重启notepad++生效 使用步骤:手机连接电脑→打
阅读全文
posted @
2017-03-03 14:22
mingfeng002
阅读(3820)
推荐(0)
SQLiteOpenHelper 升级onUpgrade 的调用问题
摘要:onUpgrade 的调用次数问题 比如说现在数据库版本是1,然后此时我修改代码定数据库版本为5。 那么系统在调用onUpgrade的时候是只调用一次(oldVersion == 1, newVersion == 5)还是从1到5调用5次? 只会调用一次。不管是从1到2,还是1到5 onUpgrad
阅读全文
posted @
2017-02-24 18:04
mingfeng002
阅读(1658)
推荐(0)
Android 5.0以上heads up通知
摘要:适用Android系统: 1) Android版本>= 5.0 2) 部分ROM是不支持 views : 自己赋值的RemoteViews,建议高度适用64dp,因为高度高了,有可能会出现截断(系统做处理)。 notification.visibility = Notification.VISIBI
阅读全文
posted @
2017-02-13 17:33
mingfeng002
阅读(6190)
推荐(0)
CoordinatorLayout
摘要:CoordinatorLayout能做什么 在学习CoordinatorLayout之前,很有必要了解CoordinatorLayout能帮我们做什么,从名字上可以看出,就是帮我们协调子View的。怎么个协调法呢?就是它根据我们的定制,帮助我们协调各个子View的布局。我们先看一组动画图~ 稍微解释
阅读全文
posted @
2016-11-16 14:24
mingfeng002
阅读(227)
推荐(0)