アプリで Mark Wei の素晴らしいライブラリ StandOut を使用しています: http://pingpongboss.github.io/StandOut/
私がやっていることはTrueCaller Appと非常によく似ています
着信時に自分のビューを表示しています。これは一般的にうまく機能します。
私の問題は何ですか?
非常に特殊なケースでは:
- Android Marshmallow (6) のみ
- キーガードロックON時
次に、アプリの StandOut ウィンドウが着信ウィンドウの背後に戻され、ほんの一瞬ちらつく以外は表示されません。
私は何を試しましたか?
これらのフラグを一緒に使用すると、次のようになります。
- FLAG_DISMISS_KEYGUARD
- FLAG_SHOW_WHEN_LOCKED
さらに(そして別々に)私はこの非推奨の方法を試しました:
KeyguardManager.KeyguardLock mLock;
KeyguardManager mKeyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
mLock = mKeyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
mLock.disableKeyguard();
これも失敗したとき、アプリの管理者権限を付与しようとしました(長いのでコード全体を追加しませんが、適切に実行しました)、これを試しました:
devicePolicyManager.setKeyguardDisabled(deviceAdmin,true);
注: TrueCaller アプリは非常にうまく機能しており、すべての通話で失敗するわけではないため、これが可能であることを知っていることをもう一度強調したいと思います。それを行う正しい方法を見つけるための助けが必要です。
前もって感謝します!