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>
相关推荐
散人10241 小时前
Android Test3 获取的ANDROID_ID值不同
android·unit testing
雨白1 小时前
实现动态加载布局
android
帅得不敢出门2 小时前
Android设备推送traceroute命令进行网络诊断
android·网络
linweidong2 小时前
android手势创建及识别保姆级教程
android·屏幕适配·android面试·手势交互·安卓面经·android手势·多分辨率
byte轻骑兵3 小时前
【Bluedroid】蓝牙启动之 SMP_Init 源码解析
android·c++·smp·bluedroid
每次的天空4 小时前
Android第十四次面试总结
android·面试·职场和发展
androidwork4 小时前
Android 布局优化:掌握 <include> 与 <merge> 的实战技巧
android
Jiaberrr4 小时前
uniapp 安卓 APP 后台持续运行(保活)的尝试办法
android·前端·javascript·uni-app·app·保活
gfgfgg0014 小时前
谷歌地图手机版(Google maps)v11.152.0100安卓版 - 前端工具导航
android·智能手机
清霜之辰4 小时前
安卓Compose实现鱼骨加载中效果
android