Android 如何在应用程序类中检查设备空闲几分钟?
我想检查设备空闲状态几分钟。当它是一项特殊的活动时,我能够得到它。如下Android 如何在应用程序类中检查设备空闲几分钟?,android,Android,我想检查设备空闲状态几分钟。当它是一项特殊的活动时,我能够得到它。如下 public class MainActivity extends AppCompatActivity { Handler handler; Runnable r; private ContentResolver contentResolver; @Override protected void onCreate(Bundle savedInstanceState) {
public class MainActivity extends AppCompatActivity {
Handler handler;
Runnable r;
private ContentResolver contentResolver;
@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 is inactive from last 10 seconds", 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, 10000); //for 10 seconds
}
}
但我想检查整个应用程序的设备空闲状态。我在应用程序类中检查了没有方法为onUserInteraction()
是否还有其他技巧。我认为您应该创建一个BaseActivity,它将扩展AppCompatActivity,并将您的代码放入BaseActivity中,并用AppCompatActivity替换所有活动中的代码。我希望它能对您有所帮助。我认为您应该创建一个BaseActivity,它将扩展AppCompatActivity,并将您的代码放在BaseActivity中,并用AppCompatActivity替换所有活动中的代码。我希望它能帮助你 在应用程序类中创建3个方法, 并重置该方法中activityVisible变量的值 您可以通过以下方式调用这些方法 在活动可见时执行操作 在应用程序类中创建3个方法, 并重置该方法中activityVisible变量的值 您可以通过以下方式调用这些方法 在活动可见时执行操作
我认为用户交互只能分析内部
活动。原因活动
表示UI而不是应用程序类。您可以为所有活动创建一个基本活动,并分析父活动中的交互。@ADM如何使其在应用程序类中工作@ADM的可能副本上述代码正在工作..但仅在空闲时显示toast..之后再次显示(相同的空闲继续)那么这一次它没有显示toast..如何让它在空闲几秒钟时反复显示我认为用户交互只能在活动中分析。原因活动
表示UI而不是应用程序类。您可以为所有活动创建一个基本活动,并分析父活动中的交互。@ADM如何使其在应用程序类中工作@ADM的可能副本上述代码正在工作..但仅在空闲时显示toast..之后再次显示(相同的空闲继续)那么这一次它没有显示吐司..如何使它在空闲几秒钟时一次又一次显示
public static boolean activityVisible; // Variable that will check the current activity state
public static boolean isActivityVisible() {
return activityVisible; // return true or false
}
public static void activityResumed() {
activityVisible = true;// this will set true when activity resumed
}
public static void activityPaused() {
activityVisible = false;// this will set false when activity paused
}
AppClass.activityResumed();// On Resume notify the Application
AppClass.activityPaused();// On Pause notify the Application
boolean isVisible = AppClass.isActivityVisible();