Android 6.0权限报错Toast

标签 android android-permissions android-6.0-marshmallow

我正在更新我正在开发的应用程序以在 Android 6.0 上运行。 一开始应用程序会崩溃,但是更新 gradle 文件以使用最新版本的外部库(对讲机和 GCM 服务)起到了作用,应用程序运行顺利。 唯一的问题是在启动时会显示一 strip 有文本的 Toast 消息:“请在您的 list 文件中指定下一个权限:android.permission.WRITE_EXTERNAL_STORAGE”。 权限当然是写在manifest文件里的。 我假设这与 Android 6.0 引入的运行时权限机制有关(使用旧版本的 Android 运行时不会出现该消息)。

另一个烦人的小问题是在使用调试器(使用 Android Studio 1.4)运行时不会出现 toast 消息。

我怎么知道是什么导致了这个 Toast 出现?还有其他人遇到过这个问题吗?

谢谢!

最佳答案

我在项目中也遇到过这个问题,结果发现toast来自ubertesters SDK,我反编译了jar文件,发现了这个

package com.ubertesters.sdk.utility;

public class StringProvider {
    public StringProvider() {
    }

    public static String addPermission() {
        return "Please specify next permissions in your manifest file: ";
    }

    public static String installLatestVersion() {
        return "Please, install the latest Ubertesters Hub version.";
    }

    public static String install() {
        return "Install";
    }
}

我会建议您在您的发布产品风格中排除 ubertesters SDK,这样您就不会在发布版本中看到这个 toast。

Ubertesters 已经一年多没有更新其 Android SDK ... http://ubertesters.com/knowledge-base/android-sdk/

关于Android 6.0权限报错Toast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33121114/

相关文章:

java - 如何在android中使用没有id的Fragment?

android - 未在 Android M 上创建的自定义应用程序(最终预览)

android - 如何从 Android 中的 fragment 启动浏览器 Activity

android - 将我的应用与 OK Google 集成

android - 来自集成测试的 flutter 位置权限不起作用

android - 检查 MIUI 中的 READ_CONTACTS 权限

android - Android Marshmallow 中的屏幕方向更改导致应用程序崩溃时的权限对话框

android - 棉花糖中的上下文

Android 6.0 "gps"位置提供者需要ACCESS_FINE_LOCATION权限

android - Unity3d FB.canvas.pay Android 和 iOS 的替代方案