标题有点令人困惑,因为我不知道命名它的适当方法是什么。我刚刚开始学习小部件编程,并大致了解如何制作一个简单的小部件。现在我想在我的实际应用程序中使用它,它做了一些事情:
实际的应用程序已经没有问题了,我只想为我要ping的其中一台服务器做一个小部件。我使用了自定义DefaultHttpClient, MyHttpClient 类,它执行我的所有证书身份验证。我如何使用它, MyHttpClient 类是通过输入
DefaultHttpClient client = new MyHttpClient(getApplicationContext());
只有在活动类中才有效。它在 AppWidgetProvider 类中不起作用。它给出的错误是:
方法getApplicationContext()未定义类型 SystemWidget.ParseLoyalty SystemWidget.java
答案 0 :(得分:2)
窗口小部件基本上只是一个视图,仅此而已,因此无法从任何内容请求数据。如果要更新窗口小部件提供的数据,可以使用服务执行httprequest。然后,您可以通过广播自己的操作意图并在AppWidgetProvider的onRecieve中处理数据来向窗口小部件发送数据,也可以直接更新窗口小部件。
当然,如果您的活动处于活动状态,它也可以更新小部件。
在此处查看更多信息: https://developer.android.com/guide/topics/appwidgets/index.html
该服务与小部件不同。这是一段不同的代码,您可以执行这些代码来执行操作。执行该服务后,您可以使用检索到的数据来更新您的小部件,如上面的答案中所述。这是关于android服务的教程:
https://developer.android.com/guide/components/services.html
如果您想直接从活动中更新小部件,请参阅此主题: Programmatically update widget from activity/service/receiver