Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


Androidパーミッションの設定
ここでは、Androidパーミッションについて確認していきます。

Androidパーミッションは「AndroidManifest.xml」に指定する必要があります。

このAndroidパーミッションとは、ユーザが許可しないと利用できない機能(権限)のことです。アプリケーションをインストールする際に、アプリケーションがパーミッションで設定した権限を必要とすることを表示し、それに対してユーザが許可をしないとアプリケーションはインストールされません。

例えば、アラームを設定をする場合は、下のAndroidManifest.xmlの8行目のように

<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>

のパーミッションが必要になります。

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="goodroid.sample.alarm"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />
    <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".AlarmActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

このパーミッションの追加方法はAndroidManifest.xml の [Permission(許可)] タブから、

[Add(追加)] -> [Uses Permission] -> [OK]

[Name] のドロップダウンから適切な Permission 選択から行うことが可能です。



もうひとつ例を挙げると、GPSを利用したい場合には

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

のパーミッションが必要になります。
他にもパーミッションは以下の表のようにたくさんあるため、参考にしてください。

パーミッション 説明
ACCESS_CHECKIN_PROPERTIES チェックインデータベースのpropertiesテーブルへの読み書きアクセス
ACCESS_COARSE_LOCATION コースロケーションへのアクセス(Cell-ID/WiFiなど)
ACCESS_FINE_LOCATION ファインロケーションへのアクセス(GPSなど)
ACCESS_LOCATION_EXTRA_COMMANDS ロケーションエクストラプロバイダーコマンドへのアクセス
ACCESS_MOCK_LOCATION テスト用モックロケーションプロバイダーの生成
ACCESS_NETWORK_STATE ネットワークのアクセス情報
ACCESS_SURFACE_FLINGER サーフェイスフリンガーへのアクセス
ACCESS_WIFI_STATE WiFiネットワークのアクセス情報
ACCOUNT_MANAGER アカウント認証の呼び出し
ADD_VOICEMAIL システムへのボイスメール
AUTHENTICATE_ACCOUNTS アカウントマネージャのためのアカウント認証の実行
BATTERY_STATS バッテリー統計の収集
BIND_APPWIDGET ウィジェットのデータにアクセスできるサービスへ伝える
BIND_DEVICE_ADMIN device administration receiverによる要求
BIND_INPUT_METHOD InputMethodServiceによる要求
BIND_REMOTEVIEWS RemoteViewsServiceによる要求
BIND_TEXT_SERVICE TextServiceによる要求
BIND_VPN_SERVICE VpnServiceによる要求
BIND_WALLPAPER WallpaperServiceによる要求
BLUETOOTH ブルートゥース端末との接続
BLUETOOTH_ADMIN ブルートゥース端末との接続(設定変更可)
BRICK デバイスの有効・無効の指定
BROADCAST_PACKAGE_REMOVED アプリケーション・パッケージが削除されたというノーティフィケーションのブロードキャスト
BROADCAST_SMS SMS受信ノーティフィケーションのブロードキャスト
BROADCAST_STICKY インテントのブロードキャスト
BROADCAST_WAP_PUSH WAPプッシュ受信ノーティフィケーションのブロードキャスト
CALL_PHONE 通話
CALL_PRIVILEGED 通話(緊急電話番号も含む)
CAMERA カメラ
CHANGE_COMPONENT_ENABLED_STATE コンポーネントの有効・無効の変更
CHANGE_CONFIGURATION コンフィグの変更
CHANGE_NETWORK_STATE 通信状態の変更
CHANGE_WIFI_MULTICAST_STATE Wi-Fiマルチキャストの受信
CHANGE_WIFI_STATE WiFi状態の変更
CLEAR_APP_CACHE インストールされた全てのアプリケーションのキャッシュのクリア
CLEAR_APP_USER_DATA ユーザデータのクリア
CONTROL_LOCATION_UPDATES 位置情報の更新
DELETE_CACHE_FILES キャッシュファイルの削除
DELETE_PACKAGES パッケージの削除
DEVICE_POWER 電源のON/OFF
DIAGNOSTIC 診断リソースの読み書き
DISABLE_KEYGUARD キーガードの無効
DUMP システムのダンプ取得
EXPAND_STATUS_BAR ステータスバーの拡大/縮小
FACTORY_TEST 出荷時試験モードでの実行
FLASHLIGHT フラッシュライトの制御
FORCE_BACK アプリケーションの強制終了
GET_ACCOUNTS アカウントの取得
GET_PACKAGE_SIZE アプリケーションのデータやキャッシュなどのサイズを取得
GET_TASKS 実行中のタスクの取得
GLOBAL_SEARCH コンテントプロバイダーへの検索
HARDWARE_TEST ハードウェアのテスト
INJECT_EVENTS ユーザーイベントの注入(キー/タッチ/トラックボール)
INSTALL_LOCATION_PROVIDER 位置情報提供元のインストール
INSTALL_PACKAGES パッケージのインストール
INTERNAL_SYSTEM_WINDOW 内部システムウィンドウの利用
INTERNET インターネットアクセス
KILL_BACKGROUND_PROCESSES バックグラウンドプロセスの終了
MANAGE_ACCOUNTS アカウントリストの管理
MANAGE_APP_TOKENS アプリケーショントークンの管理(生成/破棄/zオーダー)
MASTER_CLEAR 出荷時設定にリセット
MODIFY_AUDIO_SETTINGS オーディオ設定の変更
MODIFY_PHONE_STATE 電話状態の変更
MOUNT_FORMAT_FILESYSTEMS リムーバブルストレージのフォーマット
MOUNT_UNMOUNT_FILESYSTEMS リムーバブルストレージのマウント/アンマウント
NFC NFCのI/O管理
PERSISTENT_ACTIVITY アクティビティの常時実行
PROCESS_OUTGOING_CALLS 通話発信へのアクセス(監視、修正、阻止)
READ_CALENDAR ユーザカレンダーの読み込み
READ_CONTACTS ユーザ連絡先データの読み込み
READ_FRAME_BUFFER フレームバッファの読み込み
READ_HISTORY_BOOKMARKS ブラウザの履歴とブックマークの読み込み
READ_INPUT_STATE 入力状態の読み込み
READ_LOGS ログの読み込み
READ_PHONE_STATE 電話状態の読み込み
READ_PROFILE ユーザの個人プロフィールの読み込み
READ_SMS SMSの読み込み
READ_SOCIAL_STREAM ユーザのソーシャルストリームの読み込み
READ_SYNC_SETTINGS 同期設定の読み込み
READ_SYNC_STATS 同期状態の読み込み
REBOOT 端末のリブート
RECEIVE_BOOT_COMPLETED リブート後のACTION_BOOT_COMPLETEDの受信
RECEIVE_MMS MMSの受信
RECEIVE_SMS SMSの受信
RECEIVE_WAP_PUSH WAPの受信
RECORD_AUDIO 録音
REORDER_TASKS タスクのZオーダーの変更
RESTART_PACKAGES パッケージのリスタート
SEND_SMS SMSの送信
SET_ACTIVITY_WATCHER 起動中のアプリケーションの監視と制御
SET_ALARM アラームの設定
SET_ALWAYS_FINISH バックグラウンドアプリケーションの終了
SET_ANIMATION_SCALE アニメーションの速度の変更
SET_DEBUG_APP デバッグの許可
SET_ORIENTATION 画面の向きの変更
SET_POINTER_SPEED ポインター速度の設定
SET_PREFERRED_APPLICATIONS 優先アプリケーションの設定
SET_PROCESS_LIMIT 実行中のプロセス数の制限
SET_TIME 時刻の設定
SET_TIME_ZONE タイムゾーンの設定
SET_WALLPAPER 壁紙の設定
SET_WALLPAPER_HINTS 壁紙サイズのヒントの設定
SIGNAL_PERSISTENT_PROCESSES シグナルを継続プロセスに送信
STATUS_BAR ステータスバーやそのアイコンの追加や削除、無効化
SUBSCRIBED_FEEDS_READ 登録したフィードの読み取り
SUBSCRIBED_FEEDS_WRITE 登録したフィードの書き込み
SYSTEM_ALERT_WINDOW システムの警告ウィンドウの表示
UPDATE_DEVICE_STATS 端末統計の更新
USE_CREDENTIALS アカウントマネージャからの認証トークンのリクエスト
USE_SIP SIPサービスの利用
VIBRATE バイブレーション制御
WAKE_LOCK スリープの無効
WRITE_APN_SETTINGS APN設定の変更
WRITE_CALENDAR カレンダーの変更
WRITE_CONTACTS ユーザ連絡先データの書込み
WRITE_EXTERNAL_STORAGE SDなどの拡張ストレージへの書込み
WRITE_GSERVICES Allows an application to modify the Google service map.
WRITE_HISTORY_BOOKMARKS ブラウザの履歴やブックマークの書込み
WRITE_PROFILE ユーザ個人プロフィールの書込み
WRITE_SECURE_SETTINGS システムのセキュリティ設定の変更
WRITE_SETTINGS システムの全般設定の変更
WRITE_SMS SMSの編集
WRITE_SOCIAL_STREAM ソーシャルストリームの変更
WRITE_SYNC_SETTINGS 同期設定の変更

5580 views | コメント:0 | 2012-06-21
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)