我试图赶上音量向上/向下按钮按下与画面关闭,但尽管取得激活锁定按下锁定按钮时,应用程序不会在前台停留。我在的onPause方法断点和屏幕关闭时,它被击中,我可以确认激活锁定是通过与所述命令ADB终端:
adb shell dumpsys power
我省略了音量按钮的事件,因为他们是不相关的,但是当屏幕是他们做的工作。我不知道我错过了,也许我missunderstanding的激活锁定应该如何表现?
我在模拟器与Android 6.0,并使用Android 7.1.2物理电话测试它。在此先感谢您的帮助..
Button getLockBtn;
PowerManager _powerManager;
PowerManager.WakeLock _wakeLock;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
RequestWindowFeature(WindowFeatures.NoTitle);
SetContentView(Resource.Layout.Main);
getLockBtn = FindViewById<Button>(Resource.Id.GetLockBtn);
_powerManager = (PowerManager)GetSystemService(PowerService);
_wakeLock = _powerManager.NewWakeLock(WakeLockFlags.Partial, "MyTag");
getLockBtn.Click += (s, e) =>
{
if (_wakeLock.IsHeld)
{
_wakeLock.Release();
getLockBtn.Text = "Get lock";
//Remove the notification
}
else
{
//Here I show a notification
_wakeLock.Acquire();
getLockBtn.Text = "Release lock";
}
};
}
那么,如何才能像谷歌地图应用程序实现这一行为
当屏幕被锁定,音量控制来自系统,这是不适用的控制itself.Google地图做什么用的卷的时间。
您的问题可能不是使用锁屏下的音量按钮的,但是当你锁定屏幕的程序仍然可以正常工作。
如果你想有一个任务继续运行,甚至当你的活动不活跃,你需要使用的服务。 https://developer.android.com/guide/components/services.html。也可以和通知以在锁定屏幕上的内容。 https://developer.android.com/guide/topics/ui/notifiers/notifications.html