Что мне делать: для этого требуется android.permission.INTERACT_ACROSS_USERS_FULL

Я работаю над интеграцией компаса с открытым исходным кодом 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

4 ответа

Решение

android.permission.INTERACT_ACROSS_USERS_FULL это разрешение уровня подписи. Ваше приложение не сможет использовать его до тех пор, пока оно не будет иметь ту же подпись, что и система.

У меня была такая же проблема, и я сделал проект -> чистый. Это работает сейчас.

Я отключил автозаполнение и проект начал работать нормально. Проверьте эту ссылку

Просто добавьте этот код в ваше приложение:

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

Я знаю, что уже есть принятый ответ, но по какой-то причине он не работает (или больше не работает) с моей стороны.

Эта ошибка произошла со мной в Android SDK версии 19 и ниже из-за NDK, который был частью моего приложения.

Я только что удалил несколько кодов, связанных с кодами NDK, в файле манифестов Android.

Другие вопросы по тегам