android bindService打开失败

在写demo验证SurfaceControlViewHost的时候,bindService提示

Unable to start service Intent U=0: not found

在源代码里搜了下,找到是在如下方法里面里面打印出来的

java 复制代码
// frameworks/base/services/core/java/com/android/server/am/ActiveServices.java
retrieveServiceLocked {
    ....
    if(mAm.getPackageManagerInternal().filterAppAccess(r.packageName,callingUid,
        userId)){
        Slog.w(TAG_SERVICE,"Unable to start service "+service+" U="+userId
        +": not found");
        returnnull;
    }
    ....
}

后面查了下,发现是包可见性的变更引起的异常

Android 11 中的软件包可见性 | Android Developers
Android 上的软件包可见性过滤 | Android Developers

解决方案,在使用的bindService的应用的AndroidManifest.xml里面加上queries,类似如下

java 复制代码
    <queries>
        <package android:name="com.example.host"/>
    </queries>
相关推荐
程序员老刘1 小时前
Android 17的10个AI功能,国内用户真正能用的有几个?
android·flutter·ai编程
花开彼岸天~2 小时前
鸿蒙应用开发实战【94】— 实战多卡号场景管理最佳实践
android·华为·harmonyos·鸿蒙系统
用户41659673693552 小时前
视频源文件音频轨异常分析记录
android
雨白5 小时前
嵌套 ScrollView 滑动冲突实战:实现内部优先滚动
android
阿pin5 小时前
Android随笔-IntentService详解(了解)
android·intentservice
海天鹰5 小时前
content://com.android.externalstorage.documents/document/primary%3A
android
阿pin6 小时前
Android随笔-WorkManager 与 AlarmManager
android·alarmmanager·workmanager
帅帅的记忆7 小时前
uniapp项目调用原生android studio的sdk文件(即aar文件)
android·uni-app·android studio
天才少年曾牛8 小时前
Android16在状态栏顶部新增图标(SystemUI)
android·frameworks
用户69371750013848 小时前
Kimi K3 综合能力处于全球第一梯队
android·前端·后端