android - AppWidget 按钮 onClick 停止工作

标签 android android-widget android-appwidget

我有一个我正在尝试构建的小部件,它只包含一个按钮。我想要做的是单击按钮,然后运行一些简单的代码(在我的测试中它是一个 toast 警报)。它最初似乎工作正常,但突然按钮停止响应点击。电话休眠后,我一直注意到它。这是我的 AppWidgetProvider 代码。

更新时:

for (int appWidgetId : appWidgetIds) {
    RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.my_widget);
    Intent intent = new Intent(context, MyNewWidgetProvider.class);
    intent.setAction("MyCode");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
    remoteView.setOnClickPendingIntent(R.id.my_btn, pendingIntent);

    AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, remoteView);
}

接收时:

super.onReceive(context, intent);

if (intent.getAction().equals("MyCode")) {          
    Toast toast = Toast.makeText(context, "It worked", Toast.LENGTH_SHORT);
    toast.show();   

}

我很困惑,所以如果有人能帮助我指出正确的方向,我将不胜感激。就像我说的那样,在手机休眠一两分钟之前,它工作正常,然后它完全停止响应点击。

谢谢!

最佳答案

待定 Intent 在每次使用后都会被“销毁”。您需要重新设置它。或者等待小部件刷新,然后它也会发生,但这可能不是理想的方式。

关于android - AppWidget 按钮 onClick 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851634/

相关文章:

android - gradlew appengineEndpointsInstallClientLibs不会安装客户端库(但会生成它们)

android - 通过代码访问 android 全局设置

android - 在应用安装时添加 Android 小部件

android - 如何调整 DatePicker android 小部件的大小

android - 在Android Studio中设置junit和mockito时出现问题

java - Android如何使用retrofit传递模态类和参数数组

android - 根据点击的 TextView 将数据从应用程序小部件传递到 Activity

android - 在应用程序小部件 GridView 中保留图像纵横比

android - 从小部件列表中拖动时阻止小部件 onUpdate onReceive?

Android AppWidget : new instance freezing old one