如何从窗口小部件启动对话框?

Jus*_*ous 4 android button android-widget

我无法在任何地方找到一个小部件在单击时启动对话框的情况.你有什么想法?

我有这个代码

public void onUpdate(Context c, AppWidgetManager appWidgetManager,int[] appWidgetIds) {
    final int N = appWidgetIds.length;
    AppWidgetManager mgr = AppWidgetManager.getInstance(c);
     for (int i=0; i<N; i++) {
            int appWidgetId = appWidgetIds[i];
    RemoteViews views = new RemoteViews(c.getPackageName(), R.layout.widget_layout);
    Intent fireDialog = new Intent(c,Execute.class);

    Toast test=Toast.makeText(c.getApplicationContext(),"onUpdate",Toast.LENGTH_LONG);
    test.show();
    PendingIntent pendingIntent = PendingIntent.getActivity(c, appWidgetId, fireDialog, PendingIntent.FLAG_UPDATE_CURRENT);
    views.setOnClickPendingIntent(R.id.Button, pendingIntent);
    Log.w(LOG_TAG,"Called");
    mgr.updateAppWidget(appWidgetId, views);
     }
}
Run Code Online (Sandbox Code Playgroud)

Com*_*are 9

我在这里假设"小部件"是指"app widget",应用程序可以添加到用户主屏幕的交互式元素.

应用小部件无法显示Dialog,因为只能通过Activity.您的应用小部件可以启动Activity,通过startActivity().并且,您可以通过添加android:theme="@android:style/Theme.Dialog"到元素来将您的活动主题看作对话框.