Java 确定用户不活动的android studio

Java 确定用户不活动的android studio,java,android,android-studio,timer,Java,Android,Android Studio,Timer,我有一个小的应用程序图像滑块。图片有一个滚动计时器。如果用户处于活动状态并手动扫描图像,计时器不会停止。如何暂停用户的计时器,并在活动停止时恢复计时器。请帮帮我。我刚开始学习iandroid studio/ MainActivity.java package com.androidtutorialpoint.androidimageslider; import android.os.Bundle; import android.os.Handler; import android.suppor

我有一个小的应用程序图像滑块。图片有一个滚动计时器。如果用户处于活动状态并手动扫描图像,计时器不会停止。如何暂停用户的计时器,并在活动停止时恢复计时器。请帮帮我。我刚开始学习iandroid studio/

MainActivity.java

package com.androidtutorialpoint.androidimageslider;

import android.os.Bundle;
import android.os.Handler;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;

import me.relex.circleindicator.CircleIndicator;

public class MainActivity extends AppCompatActivity {
    private static ViewPager mPager;
    private static int currentPage = 0;
    private static final Integer[] XMEN= {R.drawable.beast,R.drawable.charles,R.drawable.magneto,R.drawable.mystique,R.drawable.wolverine};
    private ArrayList<Integer> XMENArray = new ArrayList<Integer>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }
    private void init() {
        for(int i=0;i<XMEN.length;i++)
            XMENArray.add(XMEN[i]);

        mPager = (ViewPager) findViewById(R.id.pager);
        mPager.setAdapter(new MyAdapter(MainActivity.this,XMENArray));
        CircleIndicator indicator = (CircleIndicator) findViewById(R.id.indicator);
        indicator.setViewPager(mPager);

        // Auto start of viewpager
        final Handler handler = new Handler();
        final Runnable Update = new Runnable() {
            public void run() {
                if (currentPage == XMEN.length) {
                    currentPage = 0;
                }
                mPager.setCurrentItem(currentPage++, true);
            }
        };
        Timer swipeTimer = new Timer();
        swipeTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                handler.post(Update);
            }
        }, 2500, 3000);
    }

}
package com.androidtutorialpoint.androidimageslider;
导入android.os.Bundle;
导入android.os.Handler;
导入android.support.v4.view.ViewPager;
导入android.support.v7.app.AppActivity;
导入java.util.ArrayList;
导入java.util.Timer;
导入java.util.TimerTask;
导入me.relex.circleindicator.circleindicator;
公共类MainActivity扩展了AppCompatActivity{
专用静态寻呼机;
私有静态int currentPage=0;
私有静态最终整数[]XMEN={R.drawable.beast,R.drawable.charles,R.drawable.Magnet,R.drawable.mystique,R.drawable.wolverine};
private ArrayList XMENArray=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
私有void init(){

对于(int i=0;i您可以在activity onPause lifecycle回调中暂停处理程序。这里有一个示例:


然后,可以在活动onResume()中恢复计时器生命周期回调。

感谢您的回答。据我从示例中了解,有一个暂停和一个恢复。我可以跟踪用户的手势,然后才暂停吗?事先我为我愚蠢的问题道歉。我还不太明白如何安排。啊,在这种情况下,使用手势检测而不是活动生命循环回调作为开始和停止。查看此处的手势检测:它在代码中的外观如何?主代码需要在onTouchEvent微笑中结束,然后如果返回“true”,则播放暂停?