Java 无法在android oreo和pie上以打瞌睡模式启动触觉

Java 无法在android oreo和pie上以打瞌睡模式启动触觉,java,android,android-8.0-oreo,android-9.0-pie,Java,Android,Android 8.0 Oreo,Android 9.0 Pie,我的问题与以下参考相同: 我开发了一个呼叫应用程序。在我释放到play store后,我的用户抱怨说,当他们的手机进入空闲模式时,他们无法接听电话。我使用以下链接和步骤让我的应用程序强制进入空闲模式: 锁屏 adb外壳转储系统电池拔出 adb外壳转储sys deviceidle启用 adb shell dumpsys deviceidle步进(让步进到深度:空闲) adb外壳am设置为非活动packageName true 在完成上述过程后,我使用pixel/Piexel3XL(Android

我的问题与以下参考相同:

我开发了一个呼叫应用程序。在我释放到play store后,我的用户抱怨说,当他们的手机进入空闲模式时,他们无法接听电话。我使用以下链接和步骤让我的应用程序强制进入空闲模式:

锁屏 adb外壳转储系统电池拔出 adb外壳转储sys deviceidle启用 adb shell dumpsys deviceidle步进(让步进到深度:空闲) adb外壳am设置为非活动packageName true 在完成上述过程后,我使用pixel/Piexel3XL(Android 9)来测试调用流。我通过OneSignal SDK发送最高的FCM/GCM消息(优先级=10),希望我的活动可以启动。考试失败了。我的活动可以在手机处于活动状态时启动。我的OneSignal设置遵循NotificationExtender BareBonese示例()

此示例描述如何让应用程序在不运行应用程序的情况下接收通知。我还尝试添加windows标志,如下所示

>

我查看我的日志消息,我的手机尝试启动活动,但活动创建后立即进入销毁状态。日志如下所示:

2019-05-16 19:00:52+0800 UI android.app.Application.DispatchActivity暂停活动:IncomingCallActivity 2019-05-16 19:00:52+0800 UI android.app.Application.DispatchActivity创建活动:VideoChatViewActivity 2019-05-16 19:00:53+0800 UI android.app.Application.DispatchActivity启动活动:VideoChatViewActivity 2019-05-16 19:00:53+0800 UI android.app.Application.DispatchActivity恢复活动:VideoChatViewActivity 2019-05-16 19:00:53+0800 UI android.app.Application.DispatchActivity暂停活动:VideoChatViewActivity 2019-05-16 19:00:53+0800 UI android.app.Application.DispatchActivity停止活动:IncomingCallActivity 2019-05-16 19:00:53+0800 UI android.app.Application.DispatchActivity已销毁活动已销毁:IncomingCallActivity

我不知道为什么我的活动在收到推送消息后无法激活。请给我一些建议

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
    Log.d(this.getClass().toString(),"turn screen on!!!");
    Bugfender.d("onCreate", "turn screen on!!!");
    setShowWhenLocked(true);
    setTurnScreenOn(true);
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    KeyguardManager keyguardManager = (KeyguardManager) this.getSystemService(KEYGUARD_SERVICE);
    if (keyguardManager != null) {
        keyguardManager.requestDismissKeyguard(this, new KeyguardManager.KeyguardDismissCallback() {
            @Override
            public void onDismissError() {
                super.onDismissError();
                Log.e(this.getClass().toString(), "Keyguard Dismiss Error");
                Bugfender.d("onCreate", "Keyguard Dismiss Error");
            }

            @Override
            public void onDismissSucceeded() {
                super.onDismissSucceeded();
                Log.d(this.getClass().toString(),"Keyguard Dismiss Success");
                Bugfender.d("onCreate", "Keyguard Dismiss Success");
            }

            @Override
            public void onDismissCancelled() {
                super.onDismissCancelled();
                Log.w(this.getClass().toString(), "Keyguard Dismiss Cancelled");
                Bugfender.d("onCreate", "Keyguard Dismiss Cancelled");
            }
        });
    }
}