1

着信時にアプリに画像を表示させたい。

私がこれまでに行ったことはcatchphone state.

私の質問は、ダイヤラーの前景に画像を配置するにはどうすればよいですか?

これが私のスニペットです:

public class reviever extends BroadcastReceiver{

@Override
public void onReceive(Context context, Intent intent) {
    Log.d("TAG", "phone is ringing");

    new Thread() {
        public void run() {
            try {
                sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }.start();

    Intent toPop = new Intent(context, PicPop.class);
    toPop.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(toPop);
}}

マニフェスト:

<activity
        android:name=".PicPop"
        android:theme="@android:style/Theme.Translucent">

    </activity>

私の問題は、すべてが見栄えがよく、ストックダイヤラーの上に小さな写真があり、背景が半透明であるということですが、電話に出ることができません。画像がダイヤラーの上に表示されるように変更するにはどうすればよいですか。

4

3 に答える 3

2

私は方法を発見しました。アクティビティの背景を透明な「android:theme="@android:style/Theme.Translucent.NoTitleBar"」にして、アクティビティをタッチ不可と宣言し、ロック時に表示するだけです。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);

どうもありがとうございました。

于 2012-07-30T05:17:49.587 に答える
1

申し訳ありませんが、できません。セキュリティ上の理由から、着信/発信/通話中の画面はカスタマイズできませんが、ダイヤラーなど、カスタマイズできるものはたくさんあります。

http://kschang.hubpages.com/hub/Full-Android-Customization-Guide-How-to-Change-Almost-Anything-In-Your-Android-Device

于 2012-07-29T07:04:40.537 に答える
1

はい、Picture/ImageView を含むアクティビティ (電話状態レシーバーから) を開始できますが、カスタム画面に [応答/拒否] ボタンがあることを確認してください。そうしないと、ユーザーは通話を選択/拒否できません。

PS :- この動作はデバイスによって異なります。同じデバイスでも、Incall 画面をオーバーライドできない場合があります。

于 2012-07-29T08:09:20.130 に答える