実際の発信者のようなアクティビティに情報が入力された状態で、ダイヤラにアクティビティ(テーマダイアログ)を表示する必要があります。ロックされていない電話機では正常に動作しています。ロックスクリーンのダイヤラーの上にアクティビティ(テーマダイアログ)を表示しますか?
しかし、ロックされた電話では、期待どおりに動作しませんでした。いくつかのグーグルでは、ダイアログをロック画面に表示するためにいくつかのフラグを追加する必要があります。
CallActivity.java
LayoutParams layoutParams = new LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT, LayoutParams.TYPE_SYSTEM_DIALOG | LayoutParams.TYPE_SYSTEM_ALERT |
LayoutParams.TYPE_SYSTEM_OVERLAY,
LayoutParams.FLAG_NOT_TOUCH_MODAL |
LayoutParams.FLAG_NOT_FOCUSABLE |
LayoutParams.FLAG_TURN_SCREEN_ON |
LayoutParams.FLAG_SHOW_WHEN_LOCKED |
LayoutParams.FLAG_KEEP_SCREEN_ON |
LayoutParams.FLAG_DISMISS_KEYGUARD,
PixelFormat.TRANSLUCENT);
getWindow().setAttributes(layoutParams);
上記のコードでは、私は活動をするために関連した変化は、ロック画面でよくダイアログ作業を行うことに関連するダイアログといくつかのフラグ(FLAG_TURN_SCREEN_ON、FLAG_SHOW_WHEN_LOCKED、FLAG_KEEP_SCREEN_ON、FLAG_DISMISS_KEYGUARD)として現れる添加(しかしそれはできませんでした)。
は私も(放送受信機から)
Intent intent = new Intent(context, MyActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
context.startActivity(intent);