提前致谢!
解决方法 小部件实际上无法响应点击,因为它不是单独的进程运行.但是它可以启动服务来处理你的命令:public class TestWidget 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 UpdateService Intent intent = new Intent(context,UpdateService.class); PendingIntent pendingIntent = PendingIntent.getService(context,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); } } public static class UpdateService extends Service { @OverrIDe public int onStartCommand(Intent intent,int flags,int startID) { //process your click here return START_NOT_STICKY; } }}
您还应该在清单文件中注册新服务:
<service androID:name="com.xxx.yyy.TestWidget$UpdateService">
您可以在SDK中的维基词典示例中找到UpdateService实现的另一个示例
而这里还有另一个好办法Clickable widgets in android
总结以上是内存溢出为你收集整理的强制Android小部件更新全部内容,希望文章能够帮你解决强制Android小部件更新所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)