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

是的,您可以启动一个带有 Picture/ImageView 的活动(来自电话状态接收器),但请确保您的自定义屏幕上有应答/拒绝按钮,否则它不会让用户接听/拒绝呼叫。

PS :- 这个东西的行为在不同的设备上是不同的,即使在同一个设备上它有时也不能覆盖 Incall 屏幕

于 2012-07-29T08:09:20.130 回答
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 回答