2016-11-29 12 views
4

Androidの権限に関連するクラスを見ていましたが、いくつか質問があります。Androidの許可についての質問

クラスBasePermissionクラスでは、TYPE_NORMAL、TYPE_BUILTIN、およびTYPE_DYNAMICの3つのフィールドが定義されています。これらは何を表していますか?私はTYPE_DYNAMICは、アプリケーションで動的にaddPermission()APIメソッドを使用してパーミッションを作成していると思っていますが、他の2つについては全くわかりません。 Androidは、権限の作成方法(システム、システムアプリ、サードパーティアプリなど)を追跡していますか? PermissionInfoクラスはいくつかのフラグを追跡しているようですが、パーミッションの作成方法に直接対応するフラグは見つかりませんでした。

ありがとうございます!

答えて

1

ファラズは正しいですが、いくつかの追加があります。私はアンドロイドのソースコードを調べていました。私はいくつかの情報を見つけました。

  1. あなただけTYPE_DYNAMIC権限を追加、更新または削除することができます。

  2. TYPE_DYNAMIC権限はアプリケーション開発者が定義します。

  3. TYPE_BUILTIN権限はシステムアプリでのみ取得できます。

EDIT:TYPE_DYNAMIC許可例How to use custom permissions in Android?

+0

この情報のソースはどのようなものですか?私はそれが正しいとは思わない。私はアクセス許可の値を印刷していて、インターネット許可もTYPE_BUILTINのようです。 –

0

それはTYPE_BUILTINは、Linuxカーネルへのアクセス権のためであると思われ、TYPE_DYNAMICは(addPermission *()APIメソッドを使用することにより)任意の動的に作成許可のためのものであり、 TYPE_NORMALは、他の静的に作成された権限(システムと第三者の両方)のためのものです。

This linkは、システムコードのどこでこれらの権限が定義されているかを説明しています。

関連する問題