我如何触发一个widget按钮的东西吗? [英] How do I trigger something from a widget button?
本文介绍了我如何触发一个widget按钮的东西吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
不管我做什么,我不能通过点击一个部件一个按钮触发任何东西。下面是一些code我写的,谁能告诉我,为什么在单击控件按钮时,的onReceive
不叫?
此外,我想运行按钮点击功能...基础上,code下面做我有个好主意?
公共类WidgetProvider扩展AppWidgetProvider { @覆盖
公共无效的onUpdate(上下文的背景下,AppWidgetManager appWidgetManager,INT [] appWidgetIds){ 意向意图=新意图(背景下,WidgetProvider.class);
的PendingIntent的PendingIntent = PendingIntent.getBroadcast(上下文,0,意图,0); RemoteViews意见=新的RemoteViews(context.getPackageName(),R.layout.widget);
views.setOnClickPendingIntent(R.id.toggleButton,的PendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds [0],意见); } @覆盖
公共无效的onReceive(上下文的背景下,意图意图){
//为什么我没有拿到这里与按钮点击?
Log.e(,intent.getAction()!);
}
}
解决方案
尝试先调用的onReceive的超级方法。
@覆盖
公共无效的onReceive(上下文的背景下,意图意图){
super.onReceive(背景下,意图);
//为什么我没有拿到这里与按钮点击?
Log.e(,intent.getAction()!);
}
工作只是对我很好!
No matter what I do I cannot trigger anything by clicking on a button on a widget. Here is some code I wrote, can anyone tell me why onReceive
isn't called when the widget button is clicked?
Furthermore, I want to run a function on button click... based on the code below do I have the right idea?
public class WidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
Intent intent = new Intent(context, WidgetProvider.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.toggleButton, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds[0], views);
}
@Override
public void onReceive(Context context, Intent intent) {
// why don't i get here with the button click?
Log.e("!", intent.getAction());
}
}
解决方案
Try to call the super method of onReceive first.
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
// why don't i get here with the button click?
Log.e("!", intent.getAction());
}
Worked just fine for me!
这篇关于我如何触发一个widget按钮的东西吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文