1.目标Service 设置 android:exported="true"
2.目标Service需要声明自定义权限。客户端需要声明权限。
3.目标Service需要添加<intent-filter></intent-filter>
检查以上的声明和权限,
如果还是不行
说明是 Android 11引入了*包可见性*’
Solve方案
方案一:
<queries>
//你要交互的service的包名
<package android:name="com.XXX.XXX" />
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="upi" android:host="pay" />
</intent>
</queries>
方案二:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>
参考文档:
重要变更 | Android 11 中的软件包可见性 - 知乎
在 Android 10 及之前的版本中,应用可以通过 queryIntentActivities() 这样的方法获取到设备中所有已安装的应用列表。在大多数情况下,这种访问权限远超出了应用实际所需要的权限范围。随着我们不断加强对隐私保…
https://zhuanlan.zhihu.com/p/265655310
管理软件包可见性 | Android 开发者 | Android Developers
https://developer.android.google.cn/training/basics/intents/package-visibility
根据用例配置软件包可见性 | Android 开发者 | Android Developers
https://developer.android.google.cn/training/basics/intents/package-visibility-use-cases#open-urls文章来源:https://www.toymoban.com/news/detail-430267.html
通用 Intent | Android 开发者 | Android Developers
https://developer.android.google.cn/guide/components/intents-common#AdbIntents文章来源地址https://www.toymoban.com/news/detail-430267.html
到了这里,关于flutter 启动其他app server或者页面失败的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!