我想在Android的来电界面上创建一个自定义弹窗,向用户添加信息。
我希望这个弹窗不会禁用背景的任何可点击性,以便用户仍然能够接听电话。如许多应用程序所做的那样,例如MeZeZe应用:
更多信息:
- 半透明主题不起作用,因为它会取消前一个活动的可点击性。
- Toast不是一个选项——我不想让它消失。
- 我知道有许多类似的线程——我阅读了很多,但没有一个回答了我的具体问题。
- 我已经知道如何在接收到电话后“使某事发生”,因此不需要INCOMING_CALL活动提示。
感谢任何帮助!
我想在Android的来电界面上创建一个自定义弹窗,向用户添加信息。
我希望这个弹窗不会禁用背景的任何可点击性,以便用户仍然能够接听电话。如许多应用程序所做的那样,例如MeZeZe应用:
更多信息:
感谢任何帮助!
如果您希望保持Call活动仍可点击,但是在覆盖层上没有任何控件,您可以调用以下代码实现:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
在显示呼叫界面的活动的onCreate()方法中。
可与此一起使用的布局参数包括:
android:windowBackground="@android:color/transparent"
android:windowIsTranslucent="true"
android:windowAnimationStyle="@android:style/Animation.Translucent"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
win.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
win.addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
setContentView(R.layout.activity_main);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
<activity android:name=".PopUpIncomingCallActivity"
android:theme="@android:style/Theme.Translucent">
</activity>
android:windowAnimationStyle="@android:style/Animation.Translucent"
android:windowBackground="@android:color/transparent"
android:windowIsTranslucent="true"