web-dev-qa-db-ja.com

Androidパーミッションのuses-permission vsパーミッション

マニフェストファイルには、次の2つのような "permission"と "uses-permission"の2種類のアクセス許可があることに気付きました。

 <permission Android:name="Android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

 <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />

manifest.xmlファイルに配置するときに使用する次の4つのアクセス許可についてuses-permissionsまたはpermissions

Android.permission.ACCESS_NETWORK_STATE

Android.permission.ACCESS_WIFI_STATE

Android.permission.INTERNET

Android.permission.CHANGE_WIFI_MULTICAST_STATE
52
Kevik

For

<permission>

ドキュメント 状態:

このアプリケーションまたは他のアプリケーションの特定のコンポーネントまたは機能へのアクセスを制限するために使用できるセキュリティ許可を宣言します。

したがって、Androidの権限にアクセスしているため、uses-permission代わりに。この要素のドキュメントには次のように記載されています。

アプリケーションが正しく動作するためには、アプリケーションに許可する必要がある許可を要求します。

<permission>は通常、カスタムパーミッションを作成するときに使用されます(たとえば、他のアプリが連携できるアプリを作成するとき、アクセスを制限する必要があります)、および<uses-permission>は、アプリが実際には通常持っていない許可が必要な場合に使用されます。

63
A--C

「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

27

要するに、必要なのはuses-permissionステートメントです。

Androird Document には、これら2つの使用法について説明する専用ページがあります。

Using Permissionsの部分では、

<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>

独自の許可を定義するために使用されます。

5
Teng-pao Yu

素人用語では、

<uses-permission>は、アプリがそのコンポーネントの所有者である別のアプリによって制限されているコンポーネントにアクセスするために必要な権限を指定します。

<permission>は、コンポーネントに設定する制限がコンポーネントの所有者であることを指定します。

0
iammrmehul