StrictMode 策略违规:Android 中的 StrictModeDiskReadViolation、WriteViolation

StrictMode policy violation: StrictModeDiskReadViolation,WriteViolation in Android

我正在开展一个使用 Google 地图的 Android 项目。该应用程序在我的 Cell phone 中运行良好,具有 5.1.1 Android 版本,因为我将它用于项目的开发,但同一个应用程序在其他单元格中无法运行 phone (6.0.0 Android)。在其他单元格中 phone Google 地图未更新。 (不去当前位置)。为什么 Google 地图在其他单元格 phone 中没有更新?

提示这个;

12-13 08:25:55.796 11170-11170/com.example.mapspractice1 W/f: Suppressed StrictMode policy violation: StrictModeDiskReadViolation

12-13 08:25:55.796 11170-11170/com.example.mapspractice1 W/f: Suppressed StrictMode policy violation: StrictModeDiskWriteViolation

12-13 08:25:55.939 11170-11458/com.example.mapspractice1 W/DynamiteModule: Local module descriptor class for com.google.android.gms.googlecertificates not found.

12-13 08:25:55.949 11170-11458/com.example.mapspractice1 I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:2

12-13 08:25:55.949 11170-11458/com.example.mapspractice1 I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, version >= 2

12-13 08:25:59.044 11170-11209/com.example.mapspractice1 V/FA: Inactivity, disconnecting from the service

我认为您看到的日志警告与问题无关,它们只是警告,我相信您可以安全地忽略它们。

Android M (6) 中无法获取当前位置可能与新的 Runtime Permissions 模型有关。 如果您已将 android:targetSdkVersion 设置为 23 或更高,则除了将其置于 AndroidManifest.

之外,您还需要明确地向用户请求您需要的每个权限

要在 Android M 设备上进行检查,

open the phone's Settings app > apps > find and select your app > permissions > enable "Location" permission.

它现在应该可以正确识别应用中的位置。

看到这个:https://developer.android.com/training/permissions/requesting.html 关于如何在运行时向用户请求权限。