【发布时间】:2014-07-28 15:08:58
【问题描述】:
是否可以让 Intent 在后台运行?就像我假设的一项服务。
当用户点击一个小部件时,我需要执行一个操作(调用网络服务)。
下面是我的代码
Intent intent = new Intent();
intent.putExtra("webServiceId", mWSId);
PendingIntent pending = PendingIntent.getActivity(context, 0,intent, 0);
views.setOnClickPendingIntent(R.id.btnWidgetToggle, pending);
appWidgetManager.updateAppWidget(mAppWidgetId, views);
Intent resultValue = new Intent();
resultValue.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
mAppWidgetId);
setResult(RESULT_OK, resultValue);
finish();
我是否应该有意对服务或类似的东西执行操作? 谢谢!
更新: 我现在试图通过调用 IntentService 来做到这一点,但它没有调用它。我的代码如下:
Intent intent = new Intent(context, widgetService.class);
intent.putExtra("webServiceId",mWSId);
PendingIntent pending = PendingIntent.getService(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.btnWidgetToggle, pending);
有什么想法吗?
【问题讨论】:
-
是的,启动一个服务。我会推荐
IntentService。 -
@Karakuri 感谢您的确认。你知道如何实施吗?我用我当时正在尝试的内容更新了上面的代码......
-
你在
AndroidManifest.xml注册服务了吗? -
@Karakuri:起来!就是这样!!!!谢谢
标签: android web-services android-intent widget android-widget