android - 如何以编程方式在主屏幕上调出小部件

标签 android android-widget android-intent

我试图以编程方式在主屏幕上显示一个小部件,但在通过 Intent 传递小部件 ID 并调用 startActivity(pickIntent) 时我遇到了问题。小部件列表即将出现,但我开发的小部件未被选中。

final int[] appWidgetIds = appWidgetManager.getAppWidgetIds(component);
Intent intent = getIntent();
        Bundle extras = intent.getExtras();
        if (extras != null) {
            mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,
                    AppWidgetManager.INVALID_APPWIDGET_ID);
}

我在这里得到 extras= null。所以,我尝试将小部件 ID 分配为 WidgetId = mAppwidgetHost.allocateAppWidgetId();

通过 Intent 发送:

Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
        pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, WidgetId);
        startActivity(pickIntent);

但我的小部件仍然没有被选中。 谁能告诉我如何在没有任何用户交互的情况下在主屏幕上调出小部件。提前致谢。

最佳答案

您不能这样做:标准的小部件选择器不允许您指定特定的小部件。

关于android - 如何以编程方式在主屏幕上调出小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6659776/

相关文章:

javascript - 对第 3 方 SDK Intent 调用 startActivityForResult 时出错

android - 图像 Intent 和后按

android - 在 Opengl es 2.0 fragment 着色器中有没有办法获得以前的 fragment 颜色

java - viewpager 中的垂直 pagerTabStrip 方向

准确时间的 Android 通知

android - 小部件存储数据 android

android - AppWidgetManager.ACTION_APPWIDGET_BIND 总是返回 Activity.RESULT_CANCELED

android - 云 java.io.FileNotFoundException : WEB-INF/logging. 属性(没有这样的文件或目录)

java - 在您的 Android 应用程序上进行身份验证

android - 如何在易受攻击的 Intent 方案劫持中为 WebView 使用正确的 Intent