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>
相关推荐
YB137511 小时前
jetpack compose 副作用 SideEffect
android·kotlin
CHB13 小时前
uni-app x 蒸汽模式 性能测试基准报告 Benchmark【Android版】
android·ios·uni-app
带娃的IT创业者14 小时前
拆掉那堵墙:LibrePods 如何让 AirPods 在 Android 上重获新生
android·开源项目·airpods·librepods·生态解锁
_阿南_15 小时前
flutter 展示的字体突然奔放了
android·flutter·ios
文人sec18 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
刘洋浪子19 小时前
AndroidStudio保存日志菜单
android
朱涛的自习室19 小时前
从 Prompt 到 Graph:AI 工程的进化史
android·前端·人工智能
2501_9327502620 小时前
Android 中 Serializable 与 Parcelable 的对比与选择
android
FungLeo21 小时前
Flutter 两个反直觉布局坑:ListTile 水波纹 / VerticalDivider 踩坑实录
android·flutter
1570925113421 小时前
ViewBinding与DataBinding区别与选型
android