我的 android 应用程序有一个小部件。
这是小部件服务OnCreate
:
public class AppWidgetService extends Service {
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
private static AppWidgetService mInstance = null;
..
}
基本上,此服务会扫描从应用程序中填充的文件。
每当应用程序更改此文件内容时,我都想调用服务的re-scan
(又名刷新)方法。
我曾想过创建一个新类(非活动)widgetServiceBinder
这将公开静态公共有界服务成员。
.
我有几个问题:
1)当应用程序工作时,我不知道小部件是否在用户主页中处于活动状态。
因此我不知道该服务是否正在运行。
如果它没有运行我不想创建它,因为只要用户不需要它
没有将它添加到他的主屏幕。
小部件是否存在,但是当我绑定到它时,我调用了一个未创建的服务
通过调用OnCreate
?
2)我问是因为我尝试过从这样的活动绑定。我设法在服务中调试
方法,但似乎它的所有成员都是空的。我不能初始化mInstance
为它的静态。
3)为了简单起见,我尝试从 Activity 绑定。我实际上想创建一个
新类(非活动)widgetServiceBinder
。我如何从那里绑定到服务?
我不能getApplicationContext
从那个经理那里打电话。
4) 我已将应用程序的上下文从外部发送到服务方法,
但是然后我必须将其渗透到所有使用的方法中,mInstance
否则我会得到一个
空指针异常。
你会建议如何解决这个问题?