Android 小部件 onClick

标签 android widget onclick

我希望能够单击一个小部件并启动一个对话框。我已经阅读了官方文档作为一些非官方文档。我最初想发起一项新 Activity ,但即使这样也失败了。我在 Logcat 中得到以下信息,但我真的看不到任何东西。

11-14 21:28:47.929: INFO/ActivityManager(116): Starting: Intent { flg=0x10000000 cmp=com.android.app/.Execute bnds=[179,89][300,160] } from pid -1

我猜上面的意思是intent通过了...但是activity实际上并没有启动。要启动的 Activity 应该是正常 Activity 吗?

使用的代码是:

public class ExampleAppWidgetProvider extends AppWidgetProvider {

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    final int N = appWidgetIds.length;

    // Perform this loop procedure for each App Widget that belongs to this provider
    for (int i=0; i<N; i++) {
        int appWidgetId = appWidgetIds[i];

        // Create an Intent to launch ExampleActivity
        Intent intent = new Intent(context, ExampleActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);

        // Get the layout for the App Widget and attach an on-click listener
        // to the button
        RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.appwidget_provider_layout);
        views.setOnClickPendingIntent(R.id.button, pendingIntent);

        // Tell the AppWidgetManager to perform an update on the current app widget
        appWidgetManager.updateAppWidget(appWidgetId, views);
    }
}
}

有什么想法吗?

最佳答案

问题的最可能原因是您没有在 list 中声明 ExampleActivity

<更新>

您也可以尝试为您的 PendingIntent 创建的参数 2 使用一个唯一的数字,并在参数 4 中放置一个合理的标志:

    PendingIntent pendingIntent = PendingIntent.getActivity(context, appWidgetId, intent, PendingIntent.FLAG_UPDATE_CURRENT );

关于Android 小部件 onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128654/

相关文章:

c++ - Qt - 在面板中动态添加 QLineEdit

python - 如何在 Flask 的页面上显示小部件?

android - Android 是否支持布局继承(类似于 Django 模板)?

Android 9 - 无法编排多个堆叠的 VideoView 对象 SM-G950U

java - Android 文本中的笔划问题

android - 小部件在不同手机上看起来不同

javascript - 单击时使用 .length 对项目进行计数会产生错误的值

javascript - 附加点击事件不起作用

Android检测您何时按住按钮

android - "Unregistered Android application"文本显示在用户配置文件信息权限对话框中