android在按键后检测用户不活动

android在按键后检测用户不活动,android,user-interaction,Android,User Interaction,在我的mediaplayer中,我添加了一个视图,该视图在按下菜单键时显示,我希望它在一段时间后隐藏,即用户不想看到该视图,该视图是水平的,我希望它在几秒钟后隐藏,用户不会按右键或左键 我把我的逻辑放在这里,但没有成功: “我的观点与此类似” 代码从未到达 if(getLastInteractionTime()+5000 >= System.currentTimeMillis()) 而且我也不知道该怎么停止这个线程 我该怎么做? 任何其他方法都会更受欢迎 提前谢谢。试试这个。5秒后,当用

在我的mediaplayer中,我添加了一个视图,该视图在按下菜单键时显示,我希望它在一段时间后隐藏,即用户不想看到该视图,该视图是水平的,我希望它在几秒钟后隐藏,用户不会按右键或左键

我把我的逻辑放在这里,但没有成功: “我的观点与此类似”

代码从未到达

if(getLastInteractionTime()+5000 >= System.currentTimeMillis())
而且我也不知道该怎么停止这个线程

我该怎么做? 任何其他方法都会更受欢迎
提前谢谢。

试试这个。5秒后,当用户处于非活动状态时,它将发出toast通知onUserInteraction方法是此代码的主要部分

Handler handler;
Runnable r;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    handler = new Handler();
    r = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "user inactive",
                    Toast.LENGTH_SHORT).show();
        }
    };
    startHandler();
}
@Override
public void onUserInteraction() {
    // TODO Auto-generated method stub
    super.onUserInteraction();
    stopHandler();//stop first and then start
    startHandler();
}
public void stopHandler() {
    handler.removeCallbacks(r);
}

public void startHandler() {
    handler.postDelayed(r, 5000);
}

您可以在活动中尝试onUserInteraction()方法class@IllegalArgument这是一个很好的解决方案。内存泄漏安全吗?不,不是要处理,您必须停止处理程序,暂停并销毁,然后在恢复时重新开始。
Handler handler;
Runnable r;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    handler = new Handler();
    r = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            Toast.makeText(MainActivity.this, "user inactive",
                    Toast.LENGTH_SHORT).show();
        }
    };
    startHandler();
}
@Override
public void onUserInteraction() {
    // TODO Auto-generated method stub
    super.onUserInteraction();
    stopHandler();//stop first and then start
    startHandler();
}
public void stopHandler() {
    handler.removeCallbacks(r);
}

public void startHandler() {
    handler.postDelayed(r, 5000);
}