今天发现google市场提高了上架app的targetSdkVersion要求8月开始最低要求34了,项目中之前有动态注册的广播实现了自己的一部分需求。然后升级到34 以后项目运行项目就崩溃
提示
Process: com.anyfit.member, PID: 8965
java.lang.RuntimeException: Unable to create application com.fitness.anyfit.base.AnyfitApplication: java.lang.SecurityException: com.anyfit.member: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
1、网上的大部分都是这种处理方式
android = [ compileSdkVersion: 34, buildToolsVersion: "29.+", minSdkVersion : 21, targetSdkVersion : 34, ]
这边要求compileSdkVersion: 34, 这个也要升级不然找不到下面的常量参数。不然会报下面的错误。
2、我后来改成:LocalBrocastManager注册广播也能完美解决了!
这两种方式都考虑测试一下。