我有一个 fileObserver 正在运行,现在我需要在调用 onEvent 后启动一个活动,考虑到我无法获得 startActivity(),我不太确定该怎么做。
这是我当前的代码:
public class snapObserver extends FileObserver {
public final String TAG = "DEBUG";
public static Context mContext;
public snapObserver(String path) {
super(path, FileObserver.CREATE);
}
@Override
public void onEvent(int event, String path) {
if (path == null){
Log.d(TAG, "path is null");
}
Log.d(TAG, "File created!!!!");
mContext.startActivity(new Intent(mContext, editActivity.class));
}
}
此代码抛出一个java.lang.NullPointerException
java.lang.NullPointerException:尝试在 android.content 的 android.content.ComponentName.(ComponentName.java:77) 的空对象引用上调用虚拟方法“java.lang.String android.content.Context.getPackageName()” .Intent.(Intent.java:3996) 在 com.samplersnapshoot.domiq.samplersnapshoot.snapObserver.onEvent(snapObserver.java:28) 在 android.os.FileObserver$ObserverThread.onEvent(FileObserver.java:122) 在 android.os .FileObserver$ObserverThread.observe(Native Method) at android.os.FileObserver$ObserverThread.run(FileObserver.java:85)
我有一个在后台运行的服务,它通过简单的 startWatching 调用 fileObserver。