android - java.lang.SecurityException:调用者必须拥有内容://.....MySliceProvider
问题描述
我正在尝试将谷歌助手实现到我自己的安卓应用程序中,我一直在关注谷歌示例上的操作:https ://github.com/actions-on-google/appactions-fitness-kotlin/issues/9 。
我正进入(状态
java.lang.SecurityException:调用者必须拥有内容://at.oeamtc.android.oeamtclib.MySliceProvider
这是它崩溃的部分,在
SliceManager.getInstance(context) .grantSlicePermission(assistantPackage, sliceProviderUri);
private void grantAssistantPermissions() {
Context context = getApplicationContext();
Uri sliceProviderUri =
new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(OeamtcSliceProvider.SLICE_AUTHORITY)
.build();
String assistantPackage = getAssistantPackage(context);
if (assistantPackage == null) {
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
SliceManager.getInstance(context)
.grantSlicePermission(assistantPackage, sliceProviderUri);
}
}
private String getAssistantPackage(Context context) {
PackageManager packageManager = context.getPackageManager();
List<ResolveInfo> resolveInfoList = packageManager.queryIntentServices(
new Intent(VoiceInteractionService.SERVICE_INTERFACE), 0);
if (resolveInfoList.isEmpty()) {
return null;
}
return resolveInfoList.get(0).serviceInfo.packageName;
}
解决方案
推荐阅读
- c# - 调用异步单行 lambda 委托
- jupyter-notebook - 是否可以在 Jupyter Notebook 中缩放粘贴的图像?
- perl - 使用 HTML::PullParser 获取属性值
- javascript - 为什么在使用 reactjs 挂钩时出现“TypeError:react__WEBPACK_IMPORTED_MODULE_1___default.a.useState 不是函数”错误?
- scala - Gatling scala 扩展失败,找不到证据参数的隐式值
- android - 浮动按钮更改属性 app:maxImageSize frome 代码
- vuejs2 - VueJS 兄弟组件重载挑战
- python - 在嵌入在 tkinter 中的两个 matplotlib 图之间切换时,第一个图上会出现一组额外的意外 x 和 y 轴标签和刻度
- mysql - 如果在第二个表中满足要求,则从多个表中选择数据
- python - 构造 1 到 n 的四元组所有可能组合的最有效方法