1

で 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以上

4

0 に答える 0