Articles of android windowmanager

exceptionjava.lang.IllegalArgumentException:请求窗口android.os.BinderProxy@4205eb18不存在是什么意思

我正在尝试登录应用程序,但登录成功后即将进入下一个屏幕,它会重新启动。 以下是我认为会引起这种情况的例外,因为没有其他例外。 11-14 15:09:54.841: W/WindowManager(643): Failed looking up window 11-14 15:09:54.841: W/WindowManager(643): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@4205eb18 does not exist 11-14 15:09:54.841: W/WindowManager(643): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7622) 11-14 15:09:54.841: W/WindowManager(643): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7613) 11-14 15:09:54.841: W/WindowManager(643): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1591) 11-14 15:09:54.841: W/WindowManager(643): at android.os.BinderProxy.sendDeathNotice(Binder.java:417) 11-14 15:09:54.841: W/WindowManager(643): at dalvik.system.NativeStart.run(Native Method) 11-14 15:09:54.841: I/WindowManager(643): WIN DEATH: null 任何人都可以告诉,它是什么意思,如果可能的话,如何纠正它。

在Android 2.3中通过锁屏显示触摸事件对话框

我想build立一个在锁屏上可见的对话框,并可以接收触摸事件。 我使用WindowManager创build了一个窗口,但只有TYPE_SYSTEM_OVERLAY标志显示在GB(Android 2.3.7)的锁屏上。 有没有一种方法来创build一个系统覆盖,在锁屏上可见,并可以在Android 2.3.7接收触摸事件? FLAG_WATCH_OUTSIDE_TOUCH存在一个错误,但我不确定这会如何影响我。 有任何想法吗?

Android的webview适合所有内容屏幕

您好我有一个webview,我希望它适合屏幕,使用户不必水平或垂直滚动 我曾经search过,许多build议以下但它只限制宽度,用户将仍然需要垂直滚动: engine = (WebView) (findViewById(R.id.webView1)); engine.loadUrl(www.example.com); engine.getSettings().setLoadWithOverviewMode(true); engine.getSettings().setUseWideViewPort(true); 我尝试了另一种方法,使用缩放方法,但它不会工作…..我得到了窗口宽度(1024像素),网页内容的宽度也是1024像素! 所以缩放不起作用….是否有任何方法来获得正确的规模? 或者….还有其他的方法吗?……谢谢! // get the window width and height Point outSize = new Point(); getWindowManager().getDefaultDisplay().getSize(outSize); width = outSize.x; height = outSize.y; Log.i("Menuboard", "width: " + Integer.toString(width) + ", height: " + Integer.toString(height)); WebViewClient client = new WebViewClient() { public void onPageFinished(WebView view, String url) { […]

在locking屏幕上使用窗口pipe理器显示视图

我有一个浮动图标,停留在所有活动的顶部,但是当设备被locking时,它将消失,直到设备被解锁。 另一个意思是,我想在锁屏上使用windowmanager从服务中显示一个视图(FloatIcon)。 这是我的代码到目前为止。 public class FloatIcon extends Service { private WindowManager windowManager; private ImageView floatIcon; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); floatIcon = new ImageView(this); floatIcon.setImageResource(R.drawable.ic_launcher); floatIcon.setClickable(true); floatIcon.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getBaseContext(), MainActivity.class); […]

Android ActivityManager与WindowManager

有人可以请详细解释一下, 1- What is the use of ActivityManager & WindowManager? 2- What is the difference between ActivityManager & WindowManager?

如何创build一个位于Android所有应用程序之上的UI或小部件?

我可以在Android中创build一个用户界面或小部件,它将位于所有应用程序之上吗? 有这样的小部件的应用程序。 一个例子是在所有应用程序的顶部有一个摄像头图标,点击后将捕获屏幕。

TYPE_TOAST替代,将不会请求权限?

我正在使用TYPE_TOAST LayoutParamstypes在WindowManager上popup视图的SDK。 最后一个版本的Android Nougat(7.1.1)对WindowManager做了一些改变(我不知道有什么变化 – 如果有人可以详细说明,会感激不尽),但是这种改变会导致所有以TYPE_TOASTtypes添加的TYPE_TOAST在活动转换后从窗口中移除。 我无法添加任何权限的请求 ,所以我不能使用需要SYSTEM_ALERT_WINDOW权限的types。 试图在转换完成后每次添加视图,但是一旦我添加它们,这些视图就会被删除。 (再次我猜是因为对WindowManager做了一些改变) 所以问题是:有人知道一些替代方法,只要应用程序处于活动状态并且在前台,我可以使用它将popup视图显示为应用程序上的叠加层。 提前致谢。

将Snackbar放在最高的z顺序,以避免被AutoCompleteTextView下拉菜单阻塞

我有一个Snackbar ,如下所示: 但是,如果AutoCompleteTextView的下拉太长,下拉将会阻止Snackbar 。 正如你在上面的图片中看到的那样, Snackbar实际上正在显示。 然而,它的知名度是由长期下降阻止。 你可以从上面的图片看到 我尝试使用以下Snackbar code 。 添加bringToFront()没有多大帮助。 private void showSnackbar(String message) { Snackbar snackbar = Snackbar.make(getActivity().findViewById(R.id.content), message, Snackbar.LENGTH_LONG); snackbar.getView().bringToFront(); snackbar.show(); } R.id.content是一个CoordinatorLayout : <android.support.design.widget.CoordinatorLayout android:id="@+id/content" android:background="?attr/MyActivityBackground" android:layout_width="match_parent" android:layout_height="match_parent" android:foreground="?attr/headerShadow" /> 有没有什么好办法,以避免Snackbar由AutoCompleteTextView的下拉?

以编程方式在Android中打开屏幕

我正在开发一个报警应用程序。 从主要活动我使用广播设置警报。 然后在广播接收器的onReceive中,我打电话让用户closures或打盹报警的活动…在该活动中,在onCreate的开始我使用这些线来打开屏幕并解锁设备: 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); 这工作完美的三星Galaxy S2与Android 2.3.4,但不能在Android 2.3.5的HTC工作。 在HTC它什么也没做,当我按下lockingbutton屏幕自动解锁没有我拖动的圆圈。 它像flag_dissmiss_keygard正在工作,但flag_turn_screen_on不是。 有没有另外一种方法或另一种解决scheme呢?

如何添加一个浮动视图到Android窗口pipe理器,并听取系统/硬件后退button事件

我有一个服务,在窗口pipe理器上显示一个浮动视图(使用WINDOW_TYPE_ALERT权限)。 我可以显示它并执行操作。 但是,我有两个具体问题: 关于浮动视图的实现 如何收听系统后退button事件,以便我可以解除视图。 执行: 在清单中,我添加了以下权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> 我有一个广播接收机,将听取报警事件。 收到事件后,我开始显示浮动视图的服务。 以下是我用来创build视图的代码。 LayoutParams layOutParams = new WindowManager.LayoutParams( WindowManager.LayoutParams.TYPE_SYSTEM_ALERT, WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, PixelFormat.TRANSLUCENT); 每当用户对视图执行任何操作时,我将从窗口pipe理器中删除该视图并杀死该服务。 我想知道的是,如果这是解决问题的正确方法,或者有更好的方法来解决这个问题吗? 而且,我应该对LayoutParams进行更改还是保持原样? 其次,当有SYSTEM BACK / HARDWARE BACKbutton按下事件时,我也想消除这个浮动视图。 任何关于如何做到这一点的指针将是有帮助的。 附上浮动视图的截图以便更好地理解: