Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以制作只覆盖一半屏幕的android应用程序吗_Android_Call - Fatal编程技术网

我可以制作只覆盖一半屏幕的android应用程序吗

我可以制作只覆盖一半屏幕的android应用程序吗,android,call,Android,Call,当我接听电话时,我制作了广播接收器,我想添加一个按钮(除了接听和谢绝)来完成特定功能,所以我看到了两种解决方案,一种是我制作的(如果可能的话,半屏幕透明的活动会有按钮,但不会阻止回答和拒绝按钮,或者我看到的第二个解决方案是制作一些类似于播放中的大屏幕来电图片应用程序。谷歌有人能给我举一些好例子吗。THX public class CallReceiveD extends BroadcastReceiver { private ITelephony telephonyService; Stri

当我接听电话时,我制作了广播接收器,我想添加一个按钮(除了接听和谢绝)来完成特定功能,所以我看到了两种解决方案,一种是我制作的(如果可能的话,半屏幕透明的活动会有按钮,但不会阻止回答和拒绝按钮,或者我看到的第二个解决方案是制作一些类似于播放中的大屏幕来电图片应用程序。谷歌有人能给我举一些好例子吗。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

            }}  

我可能错了,但据我所知,您将无法启动半屏幕意图(活动)。您可以执行透明活动,但它会阻止下面的系统按钮。我想说的是,您也必须尝试覆盖系统调用接收器工具以实现此目的。

我可能错了,但据我所知,您将无法启动半屏幕意图(活动)。您可以执行透明活动,但它会阻止下面的系统按钮。我想说,您也必须尝试覆盖系统调用接收器工具以实现此目的。

您肯定可以将活动创建为占据部分屏幕的对话框。尽管我不确定这是否会实现您想要的功能,因为打开new活动电话活动应暂停呼叫,可能会打乱您的流程。可能尝试打开一个活动并在清单中的活动中定义

<activity android:theme="@android:style/Theme.Dialog" />


然后看看这是否对你想要做的事情有效。然后你可以在活动周围搜索dim,它的位置、大小等。

你肯定可以创建一个活动作为对话框,占据屏幕的一部分。虽然我不确定这是否能实现你想要的,因为打开新的活动手机活动应该会得到onPause已调用,可能会打乱您的流程。请尝试打开活动并在清单中的活动中定义

<activity android:theme="@android:style/Theme.Dialog" />


看看这对你想做的事情是否有效。然后你可以在活动中查看dim,它的位置、大小等。

我不确定它是否有用,但有一个称为“浮动”应用程序的框架。也许它可以帮助你


它提供了创建浮动在屏幕上而不是占据整个屏幕的应用程序窗口的方法。您仍然可以与下面的应用程序交互。该线程提供了许多示例,可能其中有一些适合您的内容。

我不确定它是否会有所帮助,但有一个称为“浮动”应用程序的框架。也许它可以帮助您


它提供了创建浮动在屏幕上而不是占据整个屏幕的应用程序窗口的方法。您仍然可以与下面的应用程序进行交互。该线程提供了许多示例,其中可能有适合您的内容。

您当然可以创建部分屏幕活动。如果以对话框主题开始,则新活动下面没有任何内容MikeIsrael建议,简单的写一个活动,就像你通常会做的那样,但要给它你选择的布局宽度和布局高度,比如300x400dp

然后可以使用窗口设置大小和位置

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); 
}


请注意,虽然重力表示左上角,但X,Y决定了我将窗口放置的位置,您当然可以创建一个部分屏幕活动。如果按照MikeIsrael的建议以对话框主题开始,则新活动下方不会有任何内容。简单地编写一个活动,就像您通常所做的那样,但要为它指定choo的布局宽度和布局高度唱-说300x400dp

然后可以使用窗口设置大小和位置

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); 
}


请注意,虽然重力显示为左上角,但X,Y决定了我将窗口放置在何处

我想我想尝试将此作为对话框,但因为我对此非常陌生,你能给我一个例子说明清单中应该包含什么,如何创建类和xml文件吗?只要创建一个android项目,你就会得到某种类型的mainactivity c为您创建。然后转到清单xml并将该属性添加到mainactivity定义中。运行该应用程序,您应该只会在任何在手动之前打开的内容上放置一个对话框。这会有所帮助:@LadyWoodi我认为Toasts不会始终接收触摸事件。public void onReceive(上下文上下文,意图){//TODO自动生成的方法存根Intent myIntent=新Intent(context,ScreenD.class);startActivity(myIntent);我的意图不会开始?我在广播接收者的ONReceive metod中调用它。我想我想尝试一下这个对话框,但是因为我对这个对话框非常陌生,你能给我一个例子说明清单中应该包含什么,如何创建类和xml文件吗?只要创建一个android项目,你就会得到一个为你创建的mainactivity。然后转到清单xml并将该属性添加到mainactivity定义中。运行该应用程序,您应该只会在任何在手动之前打开的内容上放置一个对话框。这会有所帮助:@LadyWoodi我认为Toasts不会始终接收触摸事件。public void onReceive(上下文上下文,意图){//TODO自动生成的方法存根Intent myIntent=new Intent(context,ScreenD.class);startActivity(myIntent);我的Intent不会启动?我在ONReceive metod中从广播接收器调用它