以编程方式将App Widget设置为主屏幕

时间:2014-04-21 11:01:17

标签: android android-appwidget

我想将自定义应用小部件设置为主屏幕。我已经搜索了很多并实现了代码并运行了一些演示但是在点击按钮小部件后发生的所有事情都无法设置为主屏幕而是从设备点击进入菜单设置

Add->Widgets->Then my widget Icon

点击我的小部件图标后,它将被设置为主屏幕。

但是我不需要这个,我希望在点击我的活动小工具按钮后,不会再进入主屏幕。

Add->Widgets->Then my widget Icon

所以请帮我解决这个问题。

2 个答案:

答案 0 :(得分:3)

  

我希望在我的活动小部件中点击按钮后将设置为主屏幕而不进入此处

这是不可能的。

答案 1 :(得分:2)

从Android O开始,您可以在您的应用中创建一个请求,要求系统将小部件固定到受支持的启动器上。

在应用的清单文件中创建小部件 调用requestPinAddWidget()方法

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
       AppWidgetManager mAppWidgetManager = getSystemService(AppWidgetManager.class);

        ComponentName myProvider = new ComponentName(AddWidgetActivity.this, 
AppWidgetSmall.class);

        Bundle b = new Bundle();
        b.putString("ggg", "ggg");
        if (mAppWidgetManager.isRequestPinAppWidgetSupported()) {
            Intent pinnedWidgetCallbackIntent = new Intent(AddWidgetActivity.this, 
 AppWidgetSmall.class);
            PendingIntent successCallback = 
  PendingIntent.getBroadcast(AddWidgetActivity.this, 0,
                    pinnedWidgetCallbackIntent, 0);

            mAppWidgetManager.requestPinAppWidget(myProvider, b, successCallback);
        }
    }