【问题标题】:What do I do about: this requires android.permission.INTERACT_ACROSS_USERS_FULL我该怎么办:这需要 android.permission.INTERACT_ACROSS_USERS_FULL
【发布时间】:2013-11-14 10:08:36
【问题描述】:

我正在努力将 micode 的开源指南针集成到我正在制作的应用程序中。我想知道当我清楚地在清单中以正确的拼写方式说明此权限错误时,如何解决此权限错误。我还需要那个权限。

这让我很困惑......

11-03 13:53:58.241: E/AndroidRuntime(8975): Caused by: \
    java.lang.SecurityException: Permission Denial: registerReceiver from \
    net.micode.compass asks to run as user -1 but is calling from user 0; this \
    requires android.permission.INTERACT_ACROSS_USERS_FULL

【问题讨论】:

  • Raghav 有权利.. 这是一个签名级别的权限,你不能在你的应用程序中使用它,除非它与系统的签名相同,即你自己构建了系统并且你已经签名了用你自己的钥匙。顺便说一句,你能告诉我产生这个异常的确切代码吗?我只是好奇..

标签: android android-permissions


【解决方案1】:

android.permission.INTERACT_ACROSS_USERS_FULL 是签名级别的权限。除非它与系统具有相同的签名,否则您的应用将无法使用它。

【讨论】:

  • 除非您是创建者或系统构建者,或者与他们合作以使他们愿意用他们的证书签署您的 apk,否则这是您无法实现的。换句话说,这对大多数开发人员来说是禁区。
  • 那该怎么办?为什么会这样?
  • 如何添加此权限...?这是正确的方法吗?
  • 请查看此链接,可能会有所帮助stackoverflow.com/questions/28134128/…
【解决方案2】:

我遇到了同样的问题,我做了 project -> clean。现在可以了。

【讨论】:

    【解决方案3】:

    我知道已经有一个可接受的答案,但由于某种原因,它对我来说不起作用(或不再起作用)。

    我在 Android SDK 版本 19 及更低版本上发生此错误,因为 NDK 是我的应用程序的一部分。

    我刚刚在 Android Manifests 文件中删除了一些与 NDK 代码相关的代码。

    【讨论】:

      【解决方案4】:

      我禁用了自动填充,项目开始正常工作。检查这个link

      只需将此代码添加到您的应用中:

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
              window.decorView.importantForAutofill = 
              View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS;
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-12
        • 2020-12-12
        • 2014-03-07
        • 2014-01-01
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多