Использует-разрешение и разрешение на разрешения для android в файле manifest.xml
Я заметил, что есть два типа разрешений в файле манифеста: "разрешение" и "использование-разрешение", как показано ниже:
<permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
для следующих 4 разрешений, которые я использую, когда я помещаю их в файл manifest.xml? uses-permissions
или permissions
?
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.INTERNET
android.permission.CHANGE_WIFI_MULTICAST_STATE
Ответы
Ответ 1
Для
<permission>
В документации указано:
Объявляет разрешения безопасности, которые могут использоваться для ограничения доступа к определенным компонентам или функциям этого или других приложений.
Поэтому, поскольку вы получаете доступ к разрешениям Android, вы хотите uses-permission
вместо этого. Документация для этого элемента гласит:
Запросит разрешение, которое приложение должно предоставить в порядке для правильной работы.
<permission>
обычно используется при создании пользовательских разрешений (например, при создании приложения, к которому могут подключаться другие приложения, ограничение доступа является обязательным), а <uses-permission>
используется, когда вашему приложению действительно требуется разрешение, которое он делает Обычно.
Ответ 2
Давайте начнем с "uses-permission...": предположим, что вы хотите использовать GoogleMap в своем приложении в качестве примера, чтобы найти ближайшее место в любом офисе, таком как банк или любой другой офис. Вам нужен интернет. Поэтому вам нужно предоставить разрешение на ваше устройство Android для доступа к ИНТЕРНЕТ. Это делается с помощью разрешенного разрешения для Android.
<uses-permission android:name="android.permission.INTERNET" />
Теперь переходите к "разрешению..": что он делает, объявляет ли он разрешения безопасности, которые могут использоваться для ограничения доступа к определенным компонентам или функциям того или иного приложения. Если вашему приложению нужны некоторые ресурсы или какая-либо функция из других приложение, вы можете использовать, указав конкретный класс или пакет.
<permission android:name="com.example.project.DEBIT_ACCT" . . . />
Спасибо. для получения дополнительной информации вы можете прочитать http://developer.android.com/guide/topics/manifest/manifest-intro.html
Ответ 3
Короче говоря, тот, который вам нужен, это выражение о разрешении использования.
Androird Document теперь имеет специальную страницу, в которой обсуждаются эти два использования.
В разделе "Использование разрешений" в нем объясняется, что
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.app.myapp" >
<uses-permission android:name="android.permission.RECEIVE_SMS" />
...
</manifest>
используется для объявления разрешений, которые вы хотели бы использовать.
В разделе "Определение и принудительное разрешение" вы можете видеть, что
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.me.app.myapp" >
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
android:label="@string/permlab_deadlyActivity"
android:description="@string/permdesc_deadlyActivity"
android:permissionGroup="android.permission-group.COST_MONEY"
android:protectionLevel="dangerous" />
...
</manifest>
используется для определения вашего собственного разрешения.