抑制できるパーミッション
以下のソースチェックしましょう。frameworks/base/core/java/android/app/AppOpsManager.java
ソースを確認すると、次のような値が宣言されています。
これらの値を引数にして、モジュールをコールします。
public class AppOpsManager { : // when adding one of these: // - increment _NUM_OP // - add rows to sOpToSwitch, sOpNames, sOpPerms // - add descriptive strings to Settings/res/values/arrays.xml public static final int OP_NONE = -1; public static final int OP_COARSE_LOCATION = 0; public static final int OP_FINE_LOCATION = 1; public static final int OP_GPS = 2; public static final int OP_VIBRATE = 3; public static final int OP_READ_CONTACTS = 4; public static final int OP_WRITE_CONTACTS = 5; public static final int OP_READ_CALL_LOG = 6; public static final int OP_WRITE_CALL_LOG = 7; public static final int OP_READ_CALENDAR = 8; public static final int OP_WRITE_CALENDAR = 9; public static final int OP_WIFI_SCAN = 10; public static final int OP_POST_NOTIFICATION = 11; public static final int OP_NEIGHBORING_CELLS = 12; public static final int OP_CALL_PHONE = 13; public static final int OP_READ_SMS = 14; public static final int OP_WRITE_SMS = 15; public static final int OP_RECEIVE_SMS = 16; public static final int OP_RECEIVE_EMERGECY_SMS = 17; public static final int OP_RECEIVE_MMS = 18; public static final int OP_RECEIVE_WAP_PUSH = 19; public static final int OP_SEND_SMS = 20; public static final int OP_READ_ICC_SMS = 21; public static final int OP_WRITE_ICC_SMS = 22; public static final int OP_WRITE_SETTINGS = 23; public static final int OP_SYSTEM_ALERT_WINDOW = 24; public static final int OP_ACCESS_NOTIFICATIONS = 25; public static final int OP_CAMERA = 26; public static final int OP_RECORD_AUDIO = 27; public static final int OP_PLAY_AUDIO = 28; public static final int OP_READ_CLIPBOARD = 29; public static final int OP_WRITE_CLIPBOARD = 30; /** @hide */ public static final int _NUM_OP = 31; : }
つまり、次のようなことしか抑制できません。
- 位置情報
- バイブレーション
- 電話帳のR/W
- 電話履歴のR/W
- カレンダーのR/W
- WiFiのスキャン
- ノッティフィケーションのPost
- 電話発信
- SMSのR/W
- SMS/メールの受信
- SMSの送信
- 設定のWrite
- SystemAlertWindowの使用
- ノッティフィケーションの参照
- カメラ
- オーディオの録音/鳴動
- クリップボードのR/W
Internet、Bluetooth、SDカードなど、アプリケーションの再起動が必要そうな機能の抑制できないようです。
(※なぜアプリケーションの再起動が必要なのかは、frameworksのソースを確認しよう)
0 件のコメント:
コメントを投稿