将AppWidgets绑定到AppWidgetHost - Android

5

当您通常想要在Android中添加AppWidget时,会有一个列表,您需要从中选择一个小部件并将其绑定到主屏幕。

我正在尝试构建一个具有自己appWidgetHost和特定App Widgets的应用程序。

我有两个问题:

  1. 我希望能够自动将小部件绑定到我的AppWidgetsHost,而不需要用户从列表中选择。
  2. 我想制作自己的“选择小部件列表”,并仅加载我创建的小部件。

简单来说;有了我的应用程序和我的AppWidgets,我希望在绑定appWidget到appWidgetHost等方面拥有完全控制权。

3个人在Google论坛上提出了类似的问题:

  1. 链接 1
  2. 链接 2
  3. 链接 3

我找到的唯一可能的答案在第二个链接中。Paraneet(其中一个回复者)说,您可以将应用程序安装在/system/app而不是/data/app下,因为存在某些安全问题。但我不确定这是否是生产可靠的解决方案,并且我想了解这样做的利弊。

谢谢,Shai。

2个回答

5

很不幸,对于你和我来说,Paraneet是正确的。

绑定appwidget是一项敏感的操作,因此为了避免恶意软件,大部分情况下需要用户同意。但是,如果您将应用程序安装到/system/data文件夹中,则被视为操作系统的一部分,并获得系统权限,可以自行决定绑定您创建的appwidget,而无需任何用户参与。


1
@Adam 试试这个:http://coderender.blogspot.ch/2012/01/hosting-android-widgets-my.html - benchuk
1
@Adam 试试这个:http://coderender.blogspot.ch/2012/01/hosting-android-widgets-my.html 还有这个:http://leonardofischer.com/hosting-android-widgets-my-appwidgethost-tutorial/ 还有这个:https://dev59.com/m3A65IYBdhLWcg3wyRyk 最后一个链接对于任何系统应用程序都很重要。 - benchuk

1
在Android O中,可以通过编程方式固定应用程序小部件。请查看此处的示例here
还请查阅Google官方documentation

嗨,如果 isRequestPinAppWidgetSupported 返回 false,我正在寻找一种方法,将用户带到小部件部分(我们可以通过在启动器屏幕上长按并选择小部件来访问该部分)。 - Vikas Pandey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接