Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.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 使用WindowManager的类型\系统\警报时显示分辨率无效_Android - Fatal编程技术网

Android 使用WindowManager的类型\系统\警报时显示分辨率无效

Android 使用WindowManager的类型\系统\警报时显示分辨率无效,android,Android,我正在使用WindowManager.LayoutParams类,使用键入系统警报来获取最重要的活动。除了显示分辨率被放大外,一切正常,因此我无法看到版面的全部内容 这是截图 (非常抱歉,由于我是StackOverflow新手,声誉不高,所以没有直接上传图像) 我的WindowManager.LayoutParams代码为 final WindowManager.LayoutParams params = new WindowManager.LayoutParams( Wind

我正在使用
WindowManager.LayoutParams
类,使用
键入系统警报
来获取最重要的活动。除了显示分辨率被放大外,一切正常,因此我无法看到版面的全部内容

这是截图

(非常抱歉,由于我是StackOverflow新手,声誉不高,所以没有直接上传图像)

我的WindowManager.LayoutParams代码为

final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.FLAG_FULLSCREEN,
        WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
        PixelFormat.TRANSLUCENT);
        params.gravity = Gravity.RIGHT | Gravity.TOP;

        wm = (WindowManager) getApplicationContext()
            .getSystemService(Context.WINDOW_SERVICE);

        mTopView = (ViewGroup) getLayoutInflater().inflate(R.layout.block_device, null);
        getWindow().setAttributes(params);
        wm.addView(mTopView, params);
我还尝试了
WRAP\u CONTENT
而不是
FLAG\u FULLSCREEN
,但它显示了一个
IllegalStateException
,即
ActionBarView
只能与
MatchParent
一起使用


在5.1中,作为额外安全系统警报类对话框的一部分,我可以尝试的任何修复都是不推荐的,该对话框写在另一个应用程序is UI的顶部。在我的应用程序中,我有一个活动,其中包含system_alert(系统警报)对话框,它一直工作到5.0,但在5.1中不工作(在
android.permission.system_alert_(系统警报)窗口
permission(权限)之后也不工作)。我在下面的链接中引用了androidxref

如果应用程序试图在其他应用程序的窗口上写入,他们将检查并抛出异常 最后,我们不得不重新设计应用程序,以避免使用系统警报类对话框 有关示例代码,请参阅以下代码段

    String message = getString(R.string.progress_message);        
    mProgressDialog = new ProgressDialog(this);

    mProgressDialog.setTitle(R.string.progress_title_message);
    mProgressDialog.setMessage(message);
    mProgressDialog.setProgressStyle(mProgressDialog.STYLE_HORIZONTAL);
    mProgressDialog.setProgress(0);
    mProgressDialog.setCancelable(false);
    mProgressDialog.setMax(100);
    mProgressDialog.show();`