繁体   English   中英

没有布局的Android小部件意图

[英]Android widget Intent without layout

是否可以在后台运行Intent? 我想像一项服务。

当用户单击窗口小部件时,我需要执行一个操作(调用Web服务)。

我的代码如下

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);

任何想法?

  • 我不确定您要达到的目标
  • 我是对的,您想在单击小部件时调用小widget(view)

  • 这可以通过调用小部件的onClick动作并将web-service调用代码放在onCllickListener内的简单方式来实现

样品

button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
              //Place your webservice invocation code here
}}

如果您想以某种方式使用服务,请查看有关如何使用服务的android文档

希望这可以帮助 !

我通过调用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);

谢谢@Karakuri

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM