Android – 服务视图

我正在使用覆盖视图,它覆盖了大部分屏幕.但是我收到了用户报告,说他们在安装第三方APK时无法按下软件包管理器的INSTALL按钮.

有没有办法摆脱这个问题?我想到了使用BroadcastReceiver捕获ACTION_VIEW意图,但似乎不可能,因为这是一个Activity动作

我留下我的类和xml布局文件以供参考:

public class OverlayView extends RelativeLayout{

    private ImageView mImageView;

    public OverlayView(ServiceOverlay overlayService) {
        super(overlayService);
        load();
        mImageView = (ImageView) findViewById(R.id.backgroundimg);
    }



    public void destroy() {
        final WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
        wm.removeView(this);
    }

    private void load() {
        LayoutInflater.from(getContext()).inflate(R.layout.overlay, this);
        WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
                0x50728,
                -3);
        params.gravity = Gravity.CENTER;
        ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).addView(this, params);
    }    
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" 
    android:paddingTop="0.0dip"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_margin="0.0dip"
    android:adjustViewBounds="false"
    android:windowActionBarOverlay="true"
      xmlns:android="http://schemas.android.com/apk/res/android">

    <ImageView android:id="@+id/backgroundimg"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/bg2"
        android:dither="false"
        android:scaleType="fitXY"
        android:windowActionBarOverlay="true" />
</LinearLayout>

解决方法:

应用程序安装始终由用户控制.这就是设计的方式,而且应该如何.

想象一下,例如,如果用户无法控制设备上安装的应用程序,会发生什么.将安装各种垃圾邮件应用程序,用户将失去对设备的控制权.这有时会影响设备的呼叫,消息传递和整体效率.

因此,用户可以从设备设置中删除此功能,以便能够通过APK安装第三方未签名的应用,因为这些尚未发布到Google Play.

上一篇:android – Google Maps v2 Custom Tile Provider


下一篇:Android点按地图并获取坐标