从应用程序添加小部件

时间:2016-01-29 12:08:32

标签: android widget

我试图到处搜索这个问题。我想知道作为程序员我们可以在主屏幕上添加小部件的不同方式。作为用户,我们可以进入窗口小部件菜单并拖放显示的窗口小部件。我还找到了一种方法来显示小部件选择器和屏幕上的选择器,但它没有动作。以下是选择器意图代码:

 Intent getwidgetidintent = new Intent();
        int appwidgetid = getwidgetidintent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,AppWidgetManager.INVALID_APPWIDGET_ID);
        Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
        intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appwidgetid);
        startActivity(intent);

但这仅显示一个选择器,当我点击一个小部件时它根本不起作用。

我想在安装应用程序后立即在主屏幕上添加小部件,或者在应用程序设置中添加一些按钮。首先这可能吗? 如果不可能,那背后的原因是什么呢?我无法理解它?

1 个答案:

答案 0 :(得分:2)

  

但这仅显示一个选择器,当我点击一个小部件时,它根本不起作用。

ACTION_APPWIDGET_PICK供主屏幕或其他AppWidgetHost使用,the documentation涵盖。你没有实现其中任何一个。

  

首先这可能吗?

没有

  

背后的原因是什么,我无法理解它?

首先,并非所有主屏幕都支持应用小部件。

其次,并非所有用户都会想要您的应用小部件,因此只要安装了应用,就会强制用户使用应用小部件"将是一种敌对行为。

第三,用户必须在主屏幕上指示应用小部件将去的 where ,并且只能由主屏幕处理,因为只有主屏幕知道应用小部件可以在哪里适合等等。

第四,关于&#34;一旦安装了应用程序&#34;,在用户表明她想要使用您的应用程序之前,您的应用程序将不会执行任何代码,无论是通过安装您的应用程序小部件还是从主屏幕启动器图标启动您的应用程序。这有助于防止&#34;驱逐恶意软件&#34;和相关的攻击。<​​/ p>