Android - 从 onReceive 中调用的方法获取上下文?
Android - Getting Context from a Method called within onReceive?
如何从 onReceive
调用的方法中检索 context
?
这是我要完成的示例:
@Override
public void onReceive(Context context, Intent intent) {
...
...
if(...) {
callMethodOne();
callMethodTwo();
} else if (...) {
callMethodOne();
}
...
}
private void callMethodOne() {
// Cant use getApplicationContext
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
}
private void callMethodTwo() {
// Cant use getSystemService
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
如您所见,由于调用了多个方法 times/ways,将所有代码移动到内部 onReceive
最终会非常重复且效率极低。
非常感谢任何帮助!
谢谢。
传递 Context
:
private void callMethodOne(Context context) {
// Can't use getApplicationContext
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(context);
}
如何从 onReceive
调用的方法中检索 context
?
这是我要完成的示例:
@Override
public void onReceive(Context context, Intent intent) {
...
...
if(...) {
callMethodOne();
callMethodTwo();
} else if (...) {
callMethodOne();
}
...
}
private void callMethodOne() {
// Cant use getApplicationContext
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
}
private void callMethodTwo() {
// Cant use getSystemService
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
}
如您所见,由于调用了多个方法 times/ways,将所有代码移动到内部 onReceive
最终会非常重复且效率极低。
非常感谢任何帮助!
谢谢。
传递 Context
:
private void callMethodOne(Context context) {
// Can't use getApplicationContext
SharedPreferences getPrefs =
PreferenceManager.getDefaultSharedPreferences(context);
}