【发布时间】:2012-02-09 00:12:03
【问题描述】:
我刚刚将我的外部广播接收器类更改为我的服务,因为..一些 android 方法无法在静态上下文中使用。现在我收到一个错误无法实例化活动 ComponentInfo{com...}: java.lang.NullPointerException。怎么可能修复?下面是我的嵌套 BroadcastReceiver 类的代码。
public class ServiceX extends Service {
private SharedPreferences settings = getSharedPreferences(PREFS, 0);
private SharedPreferences.Editor editor = settings.edit();
private static void setEnableNotification(int command) {
if (command == 1)
enableNotification = true;
else
enableNotification = false;
editor.putBoolean("enableNotification", enableNotification);
editor.commit();
}
public static class ReceiverX extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int enableNotification = intent.getIntExtra("EnableNotification", 0);
if (enableNotification == 0)
context.
setEnableNotification(0);
else if (enableNotification == 1)
setEnableNotification(1);
}
}
下面是我如何实例化内部类:
public class ActivityX extends Activity{
private BroadcastReceiver receiver = security365Service.new NotifyServiceReceiver();
以下是我在网上查看一些资源后更改的主要内容:
<receiver android:name="com.milanix.services.ServiceX$ReceiverX" android:enabled="true">
</receiver>
对不起,如果我的问题很愚蠢。
【问题讨论】:
标签: android broadcastreceiver nested-class