List<AppWidgetProviderInfo> infos = mAppWidgetManager.getInstalledProviders();
int widgetId = mAppWidgetManager.getAppWidgetIds(infos.get(0).provider)[0];
以上代码将引发以下安全异常
java.lang.SecurityException:软件包不属于10069
或者,如果我使用操作ACTION_APPWIDGET_BIND启动appwidgetpicker来检索用户权限,
再次出现上述异常ActivityNotFoundException:未找到处理意图的活动{act = android.appwidget.action.APPWIDGET_PICK
(仅在Android TV上):
但是相同的代码在移动设备上有效,但在Android TV上无效,因此我们如何为Android TV构建appwidgethost?
?更新1: 紧随this之后,仍然会引发相同的异常
更新2: 在Android TV上找到了bug相同的
答案 0 :(得分:0)
ACTION_APPWIDGET_PICK和ACTION_APPWIDGET_BIND在AndroidTV中不可用。 允许您的应用使用小部件的唯一方法是使用 adb shell 并执行
Type alpha and b. Space separated float numbers only.
a 0
-29768832.000000 0.000000
这是一半的解决方案,您的用户应该有足够的知识来设置adb和运行shell命令。
所以我在应用程序中正在做什么:
不是完美的,但至少是一些东西。