首页 > 解决方案 > 如何在 Android 上的 onCreate() 和 onResume() 上设置条件?

问题描述

我正在开发一个基于运动传感器的 android 项目。出于各种目的,我在我的项目中使用加速度计,即陀螺仪。

这是onResume()方法的onCreate()的代码段:

protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        /*To setup Gravity*/
        flickManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
        Objects.requireNonNull(flickManager).registerListener(mSensorListener, flickManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_NORMAL);
        mAccel = 10f;
        mAccelCurrent = SensorManager.GRAVITY_EARTH;
        mAccelLast = SensorManager.GRAVITY_EARTH;
        /*End Here*/

        /*To setup YouTube API*/
        youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
        youTubeView.initialize(Config.YOUTUBE_API_KEY, this);
        /*---------End-------------------*/
        /*Setup the textbox*/
        txtView = (TextView) findViewById(R.id.ttview);
        txtview2 = (TextView) findViewById(R.id.ttview2);
        txtview3 = (TextView) findViewById(R.id.ttview3);
        txtview4 = (TextView) findViewById(R.id.ttview4);
        final EditText seekToText = (EditText) findViewById(R.id.seek_to_text);
        /*-----------------End------------------------------*/

        /* Setup seekbar*/
        Button seekToButton = (Button) findViewById(R.id.seek_to_button);
        seekToButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int skipToSecs = Integer.valueOf(seekToText.getText().toString());
                player.seekToMillis(skipToSecs * 1000);
                Log.d("dur:"+skipToSecs * 1000,"Second");
            }
        });

 protected void onResume()
    {
        flickManager.registerListener(mSensorListener, flickManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_NORMAL);
        super.onResume();
        //accelerometer.register();
        //gyroscope.register();
    }

我的方法是在激活任何基于运动的工作之前先检查一些条件。是否可以在这里设置任何条件,例如“If-else”?如果不是,最好的做法是从方法外部调用它们以查看它们是否应该激活。

谢谢你。

标签: androidaccelerometergyroscopeandroid-gravity

解决方案


推荐阅读