Разрешение предоставляется только системному приложению, в манифесте
Я хочу добавить это разрешение в свой Android-манифест:
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
Но после того, как я вставляю это разрешение в свой манифест, он проверяет красное подчеркивание и говорит:
разрешение предоставляется только системным приложениям
Что я могу сделать?
Ответы
Ответ 1
MODIFY_PHONE_STATE
разрешение предоставляется только системным приложениям.
Для вашей информации есть 2 типа приложений для Android: система и пользователь
Пользовательские приложения - это все ваши обычные установки приложений через Google Play Store, Amazon Appstore или загрузку. Они входят в раздел /data вашего телефона Android, который является частью внутренней памяти, доступной для пользовательских данных и приложений.
Системные приложения - это, в основном, приложения, которые устанавливаются вместе с вашим ПЗУ. В стандартной пользовательской среде Android пользователь не имеет права на запись в/системный раздел и, следовательно, невозможно установить или удалить системные приложения.
Чтобы установить приложение как системное приложение на Android-устройство, ваше устройство должно быть укоренено или установлено специальное восстановление (или оба).
Говоря это, эта ошибка на самом деле неверна, потому что у вас есть действующий код и компиляция должна работать. Было бы лучше, если бы оно дало предупреждение вместо этого. В Eclipse вы можете легко исправить это. Просто перейдите по ссылке:
Окно → Настройки → Android → Проверка ошибок Lint.
Найдите ProtectedPermission
из списка и установите степень серьезности на что-то другое, кроме ошибки (например, информация). Таким образом ваш проект будет компилироваться.
Ответ 2
MODIFY_PHONE_STATE
- это только системное разрешение. Системные приложения либо предварительно установлены в системную папку, либо скомпилированы изготовителем с использованием их сертификата безопасности.
Следовательно, если вы пытаетесь это сделать, вы пытаетесь использовать API, которые больше не поддерживаются. В Android версии 2.3+ вы можете отслеживать входящие звонки, но блокировка не разрешена (я думаю, из ссылки, которую вы опубликовали, то, что вы пытаетесь сделать).
Проблемы с Android, если вам нужно следовать: Проблема 15022 и Проблема 14789
Ответ 3
Эта ошибка появляется в SDK 19, когда вы меняете манифест.
Очищайте и стройте проект.
Он должен очистить эту ошибку.
Ответ 4
просто очистите проект, все будет хорошо:
project > Очистить...
Ответ 5
Поскольку это разработчик устройства разрешения системного уровня не предоставляет это, поэтому инструменты разработки приложений также предупреждают об этом, поэтому вы должны
Просто очистить проект и восстановить это все
Ответ 6
Найти ProtectedPermission из списка в
Window -> Preferences -> Android -> Lint Error Checking.
и установите серьезность для чего-то другого, кроме ошибки (например, информация). Таким образом ваш проект будет компилироваться.
Ответ 7
Существует четыре типа разрешений
Regular
Dangerous
Signed
Signed or System
The first two can be used by Simple Apps
Другие два могут использоваться только приложением, которое создается в рамках