Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Wear:它在活动生命周期中是如何工作的?_Android_Android Activity_Wear Os_Android Sensors_Activity Lifecycle - Fatal编程技术网

Android Wear:它在活动生命周期中是如何工作的?

Android Wear:它在活动生命周期中是如何工作的?,android,android-activity,wear-os,android-sensors,activity-lifecycle,Android,Android Activity,Wear Os,Android Sensors,Activity Lifecycle,我制作了一个带有活动的可穿戴应用程序 @Override protected void onCreate(Bundle savedInstanceState) { Log.i("WEAR", "CREATE"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final WatchViewStub stub = (WatchViewStub) findView

我制作了一个带有活动的可穿戴应用程序

@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.i("WEAR", "CREATE");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override
        public void onLayoutInflated(WatchViewStub stub) {
            mTextView = (TextView) stub.findViewById(R.id.text);
        }
    });
    SensorManager  sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    Sensor hrs = sm.getDefaultSensor(Sensor.TYPE_HEART_RATE);
    sm.registerListener(hrListener, hrs, 3);

    if (savedInstanceState != null) {
        Log.i("WEAR", "RESTORE");
        // ... get previous sensor data from the bundle

    }
}

@Override
protected void onStop() {
    Log.i("WEAR", "STOP");
    super.onStop();
    sm.unregisterListener(hrListener, hrs);
}

@Override
protected void onDestroy() {
    Log.i("WEAR", "DESTROY");
    super.onDestroy();
}

@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
    Log.i("WEAR", "SAVE");
    // ... save sensor data in the bundle
    super.onSaveInstanceState(savedInstanceState);
}

private SensorEventListener hrListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(final SensorEvent event) {
        final float hearRate = event.values[0];
        Log.i("SENSOR", hearRate);
        mTextView.setText(Float.toString(hearRate));
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
};
当它启动时,我看到来自传感器的数据流。 过了一会儿,屏幕返回到时钟表面,日志显示停止并保存我的应用程序调试流。我重新启动应用程序,但捆绑包为空,我丢失了捆绑包中保存的所有数据
onDestroy
从未被调用,所以为什么我没有得到任何捆绑包?
这是一个齿轮活动。

关闭磨损应用程序的操作应该是从左向右滑动以关闭它。您将看到调用了
ondestory

如果你只是按下按钮(我只有一个moto 360第一代,即侧按钮),这就像只是把应用程序放在前台。所以只需调用
onStop
onStart
对。希望这个迟来的答案仍能对您有所帮助。

您需要通过从左向右滑动或长按来添加和完成应用程序(需要为相同的内容编写代码)。调用finish后,将调用onDestroy

你有活动启动模式的特殊设置吗?没有,我有Android Studio创建的默认设置。你需要提供更多信息。清单和类扩展的内容。它扩展AppCompatActivity,清单是项目创建的默认清单