jjzjj

android - WindowManager$BadTokenException : Unable to add window android. view.ViewRootImpl$W@61b864 -- 窗口类型 2010 的权限被拒绝

我正在尝试制作一个系统覆盖窗口,它也会出现在锁屏上。我确实在6.0版上做到了,但在7.0和8.0版上不起作用。第一次运行时,我被转移到我的应用程序的覆盖设置(正如AndroidM及以后的版本所预期的那样)并且我允许它。但是现在当我尝试从应用程序启动服务时它不断崩溃。我尝试了所有与此问题相关的事情,但还没有任何帮助我解决它。每次我尝试启动该服务时都会收到此错误:-FATALEXCEPTION:mainProcess:com.example.sumuix.lockdown,PID:5128java.lang.RuntimeException:Unabletocreateservicecom

android - 以编程方式检测 Android 屏幕覆盖

有没有办法让应用程序:检查上面是否有屏幕覆盖,以及找出哪个包名称拥有叠加层?我知道AndroidM及更高版本能够在权限页面中检测屏幕覆盖,并在检测到屏幕覆盖时拒绝权限更改,但开发人员是否能够在应用层实现相同的功能? 最佳答案 您可以通过检查MotionEvent.FLAG_WINDOW_IS_OBSCURED来检测重叠当用户触摸您的View之一时标记finalView.OnTouchListenerfilterTouchListener=newView.OnTouchListener(){@Overridepublicboolean

android - 在带有 GeoServer 的 Android 应用程序中使用 getTileURL

我们刚刚开始在Android上使用Googlemap,并设置了一个GeoServer来提供我们希望在map上添加为叠加层的图block。到目前为止,我已经按照一些教程和引用开始了。ForgettingMyLocationSettingupWMSonAndroidWMSReference问题:虽然我在TileProviderFactory的getTileUrl函数中生成的url在我设置时确实返回了png图像一个断点并将url复制并粘贴到浏览器中,它不会作为Android设备上的叠加层加载到map上。从我所看到的和阅读后没有抛出任何错误this我不确定是否会有任何错误,因为他们表示错误正在

android - 如何在 ListView 上创建覆盖布局

我有一个ListView,它将填充AsyncTask并且在应用程序的底部边缘我需要显示一个固定的覆盖布局,如下所示:但我不知道如何在xml中执行此操作?这是我现在的layout.xml: 最佳答案 正如Daniel所建议的,使用RelativeLayout因为它允许堆叠组件(与FrameLayout和SurfaceView相同)。以下代码将为您提供所需的布局:在上面的代码中,用于transparentBlack的颜色十六进制值是#95000000和white是#ffffff.这是关于Android中UI设计基础知识的优秀教程:And

android - 圆形覆盖填充颜色并不总是在 Google Maps v2 上绘制

我在android中使用GoogleMapsV2在mapFragment中绘制了几个圆圈。V1的一切都很好,但在切换之后,我的圆圈的填充颜色并不总是被绘制。例如,我打开map,圆圈在那里并被填充,但如果我放大几次,填充颜色就会消失。我缩小,它仍然消失了(或者它可能会重新出现)。我一直无法确定是什么行为导致它消失,有时它甚至不存在并且四处缩放导致它出现。这是我的一个圈子的一些代码:privatevoidaddAccuracyCircle(){accuracyCircle=map.addCircle(newCircleOptions().center(LocationFinder.getA

android - 如何将 View 放在具有透明背景的 glSurfaceView 之上?

我的应用程序由(从后到前)图像背景组成,然后是包含3D对象的glSurfaceView以及位于顶部的2个按钮。我希望GLSurfaceView的背景是透明的,并且可以看到后面的图像。我尝试了两种解决方案,但都不令人满意:mGLSurfaceView=newGLSurfaceView(mContext);mGLSurfaceView.setEGLContextClientVersion(2);mGLSurfaceView.setEGLConfigChooser(8,8,8,8,16,0);mGLSurfaceView.getHolder().setFormat(PixelFormat.T

Android - 在图像/缩略图上覆盖播放按钮的最佳方式

我有一个可以播放音频/视频和显示图片的安卓应用程序。对于视频,我想在预览图像的顶部以及ListView中覆盖一个播放按钮。现在我的做法是使用xml中的ImageView,然后可绘制对象是我以编程方式定义的图层列表,因为其中一个图像是动态的,播放按钮当然是静态的。我想将播放按钮从底部对齐10px,并水平居中。我的ImageView是这样定义的(在xml中)ImageView是表单的一部分,用户可以在其中编辑标题和其他信息。然后在我的Activity中,我现在创建图层列表如下:Resourcesresources=mContext.getResources();DrawableplayOv

android - ItemizedOverlay 和 Overlay 类之间的区别

谁能告诉我何时使用Overlay或何时使用ItemizedOverlay类!这两个类有什么区别?Draw方法做同样的事情?我可以在我的项目中只使用ItemizedOverlay类还是必须使用Overlay作为基类!谢谢 最佳答案 Overlay是一个通用的覆盖。ItemizedOverlay是一个子类,可以更轻松地创建覆盖图,该覆盖图是map上一系列离散的标记点。因此,如果您试图显示公交路线、遮蔽区域或类似的东西,Overlay就是您想要的类。如果您尝试显示餐厅、教堂或其他任何内容的集合,ItemizedOverlay会起作用。不过

android - 如何在 MapView 中绘制显示行车方向的箭头?

我在Android应用程序中使用Googlemap组件MapView。我可以使用GPS位置以点显示我的位置。但我想显示一个箭头,指出行驶方向(方位)。我认为我可以使用bearing值来获取箭头的角度。我该怎么做? 最佳答案 假设您已获得位置,然后通过执行以下操作获取方位:floatmyBearing=location.getBearing();要实现覆盖,您将使用ItemizedOverlay和OverlayItem.您需要继承OverlayItem以添加旋转Drawable的功能。像这样的东西:publicBitmapDrawab

android - 在我的 android map 叠加层中不断调用 draw

我正在尝试在我的MapView上绘制一条路线。我扩展了Overlay并实现了draw()方法。路由显示正确,虽然在调试时,我在draw()上添加了一个断点,并注意到它不断被调用。我只想在有人移动map或缩放时重新绘制它(绘制路线时会考虑这些变化)什么会导致这种情况? 最佳答案 有两种绘制方法可以被覆盖。voiddraw(android.graphics.Canvascanvas,MapViewmapView,booleanshadow)Desc:在map上绘制叠加层。booleandraw(android.graphics.Canv