- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到有人在使用我的应用程序时报告了 Google Developer Console 记录的崩溃:
java.lang.NoSuchMethodError: No static method canDrawOverlays(Landroid/content/Context;)Z in class Landroid/provider/Settings; or its super classes (declaration of 'android.provider.Settings' appears in /system/framework/framework.jar)
at com.pack.MainActivity.checkDrawOverlayPermission(MainActivity.java:311)
at com.pack.MainActivity.onCreate(MainActivity.java:127)
at android.app.Activity.performCreate(Activity.java:6033)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2397)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1310)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5268)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)
canDrawOverlays
是一种 API 23+ 方法,我是这样使用它的:
/** code to post/handler request for permission */
public final static int REQUEST_CODE = 100; /*(see edit II)*/
@SuppressLint("NewApi")
public void checkDrawOverlayPermission() {
/** check if we already have permission to draw over other apps */
if (!Settings.canDrawOverlays(this)) {
/** if not construct intent to request permission */
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName()));
/** request permission via start activity for result */
startActivityForResult(intent, REQUEST_CODE);
}
}
我的 MainActivity 中有这个:
checkDrawOverlayPermission();
Android 5.1 崩溃的设备
如何确保我的应用程序可以在 Android 5.1 上运行? (API 22 及以下)谁没有 API 23 及更高版本提供的这种方法?
最佳答案
检查运行代码的设备的当前 API。如果它 >= 23,你可以使用代码
if(Build.VERSION.SDK_INT >= 23) {
// if (!Settings.canDrawOverlays(this)) {
//
} else {
// another similar method that supports device have API < 23
}
关于android - 没有静态方法 canDrawOverlays,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39911130/
我注意到有人在使用我的应用程序时报告了 Google Developer Console 记录的崩溃: java.lang.NoSuchMethodError: No static method ca
我可以对 minSdkVersion= 16 的应用程序使用 Settings.canDrawOverlays(context) 方法吗? 最佳答案 没有。恐怕只有 API 23+。 关于java -
我正在尝试来自 this 的代码回答以检查是否启用了权限。但即使从设置中启用了权限,它也会返回 false。 public static boolean canDrawOverlayViews(Con
既然我可以使用 Settings.canDrawOverlays 检查用户是否在 API >= 23 上授予了这个权限,我如何检查用户是否在旧的 APIS 上拥有它? 此权限是否在 API = 23)
list : 代码activity.onCreate(): if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BuildConfig.DE
我正在为 parent 开发 MDM 应用程序来控制 child 的设备,如果执行了禁止的操作,它使用权限 SYSTEM_ALERT_WINDOW 在设备上显示警告。在具有 SDK 23+ (Andr
我是一名优秀的程序员,十分优秀!