我在我的应用程序中使用Activity.onUserInteraction(),它会触发任何交互(例如,在某处点击屏幕),即使它不会导致操作。适合屏幕超时等。
public class MainActivity extends Activity {
...
public void onUserInteraction()
{
idleTimer = 15;
}
...
}
然而,当我显示一个对话框(通过AlertDialog.Builder)时,上述方法不再被调用。我知道它不再是我的活动,但是当对话框处于活动状态时,如何实现类似的功能呢?我想跟踪任何活动,而不仅仅是在给定长度的用户不活动后手动管理(降低)亮度的活动。
如果您需要有关如何显示对话框的详细信息:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
View view = getLayoutInflater().inflate(R.layout.number_picker, null);
final NumberPicker np = (NumberPicker)view.findViewById(R.id.numberPicker);
if (np == null)
return;
alertDialogBuilder
.setMessage(title)
.setView(view)
.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MainActivity.onNumberPickerClose(code, np.getValue());
dialog.cancel();
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
MainActivity.SetupNumberPicker(np, from, to, defaultValue);
alertDialog.show();