2

サービスを使用してバックグラウンドでメッセージを受信するアプリケーションを作成しています。ネイティブの着信画面 (デバイスがロックされている場合でも、何よりも上に表示される画面) に似た画面を表示したいと考えています。現在、アプリはロック画面とホーム画面の両方にあるウィジェットを制御するだけですが、よりネイティブに見えるアクティビティがあれば良いでしょう.

私はすでに対話活動を試みました。それは私が必要とすることの一種ですが、ロック画面には表示されず、バックグラウンドサービスから開始したため、その背後にある主なアクティビティが表示されます.

4

1 に答える 1

5

将来これに出くわす可能性のある人のために、これに対する解決策を見つけました。画面を表示するアクティビティを作成し、アクティビティ クラスに以下を追加します。

public class DialogActivity extends Activity
{
    /**
     * Tag for this class to be used when logging.
     */
    public static final String TAG = "DialogActivity";

    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);

        // Set the window to always display on the forefront and to be opened when locked
        Window oWindow = this.getWindow();

        oWindow.addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
                         + WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                         + WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

        // Set our layout
        this.setContentView(R.layout.activity_dialog);

これは望ましい効果があるようです。アクティビティのテーマを全画面表示に設定すると、着信音にさらに似たエクスペリエンスを作成するのにも役立ちます。

于 2013-09-25T10:12:40.910 に答える