で GyroListener を作成し、onCreate()
で使用しonResume()
ます。で NullPointerException が発生することがありますが、常に be と呼ばれるonResume()
ため、それがどのようになるのかわかりません。これは、Android バージョン 2.2 から 3.2.1 でのみ発生します。ほとんどのユーザーは Android 4 以降を使用しており、デバイスからこのエラーの報告は 1 つもありません。onCreate()
onResume()
これは私のコードです (の最後の行で NullPointerException がスローされますonResume()
):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lock_screen);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensors = sensorManager.getSensorList(Sensor.TYPE_GYROSCOPE);
gyroListener = new GyroListener();
gyroListener.setOnGyroEventListener(new OnGyroEventListener() {
@Override
public void onTimeReset() {
Toast.makeText(getApplicationContext(), "Reseted the time",
Toast.LENGTH_LONG).show();
}
});
}
@Override
protected void onPause() {
sensorManager.unregisterListener(gyroListener);
super.onPause();
}
@Override
protected void onResume() {
super.onResume();
for (final Sensor sensor : sensors) {
sensorManager.registerListener(gyroListener, sensor,
SensorManager.SENSOR_DELAY_FASTEST);
}
gyroListener.resetStatus();
}
そして、これは例外です:
java.lang.RuntimeException: アクティビティ {mypackage/mypackage.activity.MyActivity} を再開できません: android.app.ActivityThread.performResumeActivity(ActivityThread.java:2124) での java.lang.NullPointerException android.app.ActivityThread.handleResumeActivity(ActivityThread) .java:2139) で android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1672) で android.app.ActivityThread.access$1500(ActivityThread.java:117) で android.app.ActivityThread$H.handleMessage(ActivityThread.java) :935) android.os.Handler.dispatchMessage(Handler.java:99) で android.os.Looper.loop(Looper.java:130) で android.app.ActivityThread.main(ActivityThread.java:3691) で java .lang.reflect.Method.invokeNative(ネイティブ メソッド) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)コムで。android.internal.os.ZygoteInit.main(ZygoteInit.java:670) による dalvik.system.NativeStart.main(ネイティブ メソッド) 原因: java.lang.NullPointerException at mypackage.activity.MyActivity.onResume(MyActivity.java:373) ) android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1153) で android.app.Activity.performResume(Activity.java:3874) で android.app.ActivityThread.performResumeActivity(ActivityThread.java:2114) ... 12もっと.. 12以上.. 12以上