接收电话时我制作了广播接收器我想添加一个按钮(除了答案和拒绝),它会做一定的功能,所以我看到2个解决方案就是我做的(如果可能有半屏透明活动的话)按钮但不阻止答案和拒绝按钮,或者我看到的第二个解决方案是制作像Play.google上的BIG CALLER PICTURE应用程序,任何人都可以向我推荐一些很好的例子.THX
public class CallReceiveD extends BroadcastReceiver {
private ITelephony telephonyService;
String phoneNumber;
@Override
public void onReceive(Context context, Intent intent) {
// i will call the intent here
}}
答案 0 :(得分:3)
您绝对可以将活动创建为占据屏幕一部分的对话框。虽然我不确定这会达到你想要的效果,因为通过打开新活动,电话活动应该会被调用,并且可能会弄乱你的流量。也许尝试打开一个活动并在清单中的活动中定义
<activity android:theme="@android:style/Theme.Dialog" />
看看它是否适用于您想要做的事情。然后你可以调整它的位置,大小等活动的暗淡。
答案 1 :(得分:1)
我不确定它是否会有所帮助,但是有一个名为StandOut的框架用于&#34;浮动&#34;应用。也许它可以帮到你...
http://forum.xda-developers.com/showthread.php?t=1688531
它提供了创建浮动在屏幕上的应用程序窗口的方法,而不是占用整个窗口。您仍然可以与下方的应用进行互动。该主题提供了很多例子,也许还有适合你的东西。
答案 2 :(得分:0)
我可能错了,但据我所知,你无法启动半屏意图(活动)。您可以执行透明活动,但它会阻止下面的系统按钮。我会说你必须尝试覆盖系统调用接收器工具来实现这一点。
答案 3 :(得分:0)
您当然可以创建部分屏幕活动。如果以MikeIsrael建议的对话主题开始,新活动下面没有任何内容。像往常一样简单地编写一个Activity,但是给它你选择的layout_width和layout_height - 说300x400dp。
然后可以使用onAttachWindow来设置大小和位置。此示例将窗口设置在显示屏的右上角,但位于actionBAr
下方public void onAttachedToWindow() {
super.onAttachedToWindow();
View view = getWindow().getDecorView();
WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams();
lp.gravity = Gravity.LEFT | Gravity.TOP;
lp.width = (int)(400 * screenInfo.density);
lp.x = screenInfo.widthPixels - lp.width;
lp.y = actionBarHeight;
getWindowManager().updateViewLayout(view, lp);
}
请注意,尽管Gravity表示左上角,但X,Y决定了我放置窗口的位置