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>
相关推荐
gregmankiw1 小时前
Nemotron架构(Mamba3+Transformer+Moe)
android·深度学习·transformer
xianjian09123 小时前
MySQL 的 INSERT(插入数据)详解
android·数据库·mysql
欧简墨4 小时前
kotlin Android Extensions插件迁移到viewbinding总结
android·trae
货拉拉技术4 小时前
优雅解决Android app后台悬浮窗权限问题
android
用户69371750013845 小时前
Android 手机终于能当电脑用了
android·前端
用户5172231574806 小时前
android资源类型与布局资源详细介绍
android
优选资源分享6 小时前
GKD v1.11.6 | 安卓开屏广告跳过工具 可用版
android
robotx6 小时前
安卓zygote启动相关
android
Mac的实验室7 小时前
2026年最新真实社交怎么注册?手把手教你如何成功注册Truth Social账号
android
毕设源码-郭学长8 小时前
【开题答辩全过程】以 基于Android的点餐APP的设计为例,包含答辩的问题和答案
android