从回转屏幕关闭使用部分激活锁定时,事情的onPause防止应用程序

问题描述 投票:1回答:1

我试图赶上音量向上/向下按钮按下与画面关闭,但尽管取得激活锁定按下锁定按钮时,应用程序不会在前台停留。我在的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";
        }
    };
}
android xamarin wakelock
1个回答
0
投票

那么,如何才能像谷歌地图应用程序实现这一行为

当屏幕被锁定,音量控制来自系统,这是不适用的控制itself.Google地图做什么用的卷的时间。

您的问题可能不是使用锁屏下的音量按钮的,但是当你锁定屏幕的程序仍然可以正常工作。

如果你想有一个任务继续运行,甚至当你的活动不活跃,你需要使用的服务。 https://developer.android.com/guide/components/services.html。也可以和通知以在锁定屏幕上的内容。 https://developer.android.com/guide/topics/ui/notifiers/notifications.html

© www.soinside.com 2019 - 2024. All rights reserved.