Android 升级targetSdk无法启动服务

闲着没事,直接升级了targetSdk到35,发现无法启动服务特此记录一下。

先上解决办法:

1.onResume之后调用启动服务(表现为onCreate函数不调用)

2.注册广播registerReceiver(mIntentReceiver, filter, Context.RECEIVER_NOT_EXPORTED);

当然不同的需要Context.RECEIVER_EXPORTED

(表现为执行不完onCreate,

==============以下是记录下过程=============

偶然app提示sdk版本过低,直接升级到35。

解决文件权限后,发现音乐服务启动不了。

我暂时只有两个手机一个安卓11(30),一个安卓15(35)。

经过一系列改动,30版本的能启动,35的不能。

targetSdk一个一个的改,发现30才行.....

先找了这个升级助手(Launch Android SDK Upgrade Assistant

我这里直接写我的结果

31 应该是启动前台服务 | Background work | Android Developers

不允许后台启动,也就是必须onResume之后调用,onCreate应该是不行的。

直接到33都可以了。

34 注册广播(假装)报错了(除了编辑器是黄色的几乎没有提示) registerReceiver(mIntentReceiver, filter, Context.RECEIVER_NOT_EXPORTED);

广播概览 | Background work | Android Developers

相关推荐
方白羽2 小时前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽6 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev6 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪7 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪7 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee7 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭8 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴9 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈9 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_18 小时前
Android文件读写和分享总结
android