我希望我的应用在收到来电时显示图片。
到目前为止我所做的是catch
phone 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>
我现在的问题是,所有看起来都很好,我在股票拨号器上面有一张小图片,背景是半透明的,但我无法接听电话。如何更改它,以便图片将保持在拨号器的顶部,但与拨号器进行交互,以便接听电话?
答案 0 :(得分:2)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
非常感谢你。
答案 1 :(得分:1)
对不起,你不能。出于安全原因,您可以自定义许多内容,包括拨号程序,但不包括传入/传出/呼叫期间屏幕。
答案 2 :(得分:1)
是您可以在其中启动带有Picture / ImageView的活动(来自电话状态接收器),但请确保您的自定义屏幕上有接听/拒绝按钮,否则它将不允许用户选择/拒绝接听电话。
P.S: - 这个东西的行为在不同的设备上是不同的,即使在同一个设备上也不能有时覆盖Incall屏幕