Android中的Manifest.permission(應用權限)整理


ACCESS_CHECKIN_PROPERTIES

允許讀/寫登記數據庫(checkin database),中的“properties”表,用來改變他的值來上傳東西。
這個權限第三方應用無法使用。
 
注:
  • 這個權限貌似出現在google map中
  • 這個權限不能添加到Manifest文件中的Application標簽下,否則應用無法安裝而且不會報錯

  

 1     <application
 2         android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"
 3         android:allowBackup="true"
 4         android:icon="@drawable/ic_launcher"
 5         android:label="@string/app_name"
 6         android:theme="@style/AppTheme" >
 7         <activity
 8             android:name=".MainActivity"
 9             android:label="@string/app_name" >
10             <intent-filter>
11                 <action android:name="android.intent.action.MAIN" />
12 
13                 <category android:name="android.intent.category.LAUNCHER" />
14             </intent-filter>
15         </activity>
16     </application>
 

ACCESS_COARSE_LOCATION

允許程序通過訪問網絡來大致確定自己設備的位置,如通過wifi或是蜂窩網絡。

例:

  • 當使用LoactionManager來獲取設備位置信息時,需要此權限

 

ACCESS_FINE_LOCATION

允許通過訪問信息源來精確的獲得設備的地理位置,如功過GPS,wifi或是蜂窩網絡。

例:

  • 當使用LoactionManager來獲取設備位置信息時,需要此權限

注:

  • 這個權限和上面的權限比較像,在使用的時候推薦使用這個權限

 

ACCESS_LOCATION_EXTRA_COMMANDS

允許應用可以訪問額外的位置命令。這個通常是供應商提供的新API。

例:

  • LocationManager中有一個方法sendExtraCommand(String provider,String commond,Bundle extras),在使用這個方法的時候需要此權限。

 

ACCESS_MOCK_LOCATION

允許應用能夠模擬地理位置提供者,在開發地圖類應用的時候,需要此權限。

例:

注:

  • 如果開發的時候使用了這個模擬地理位置的權限,在發布應用的時候,需要剔除掉這些東西。

 

ACCESS_NETWORK_STATE

允許應用程序訪問網絡信息

例:

  • 我想開發過Android應用的同學們,對這個權限應該不會陌生了,沒有他就沒法聯網。
  • 獲取網絡狀態的時候需要添加這個權限。

 

ACCESS_SURFACE_FLINGER

允許應用程序使用SurfaceFlinger較低的特性。

第三方不能使用這個權限。

例:

  • 系統的截圖功能需要這個權限。

 

ACCESS_WIFI_STATE

允許應用程序訪問網絡wifi的信息。

 

BATTERY_STATS

允許一個應用程序獲取電池使用的統計信息(剩余電量、電池的耗電情況(各主要應用程序耗電占總耗電的百分比等)等。

例:

@Override
public void onCreate() {
    BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
        int scale = -1;
        int level = -1;
        int voltage = -1;
        int temp = -1;
        @Override
        public void onReceive(Context context, Intent intent) {
            level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
            scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
            temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
            voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, -1);
            Log.e("BatteryManager", "level is "+level+"/"+scale+", temp is "+temp+", voltage is "+voltage);
        }
    };
    IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
    registerReceiver(batteryReceiver, filter);
}

 

BLUETOOTH

允許應用程序連接到已經配對的藍牙設備上。

例:

Android藍牙使用的Demo:http://www.cnblogs.com/wenjiang/p/3200138.html

 

BLUETOOTH_ADMIN

允許應用程序能夠發現和配對藍牙設備。

例:

Android藍牙使用的Demohttp://www.cnblogs.com/wenjiang/p/3200138.html

注:

在使用這個權限之前需要獲得BLUETOOTH的權限。

 

BRICK

申請可以關閉設備,很危險的權限。

不能被第三方應用使用。

注:

這個權限目前為止,還沒有發現在哪里使用過。

 

 

BROADCAST_PACKAGE_REMOVED

當一個應用被移除的時候,允許應用程序發送一條廣播。

第三方無法使用這個權限。

注:

雖然無法發送應用卸載的廣播,但是可以接受這個系統發送的廣播http://jasonshieh.iteye.com/blog/858402

 

 

BROADCAST_STICKY

通過使用這個權限,能夠使發送的廣播繼續存在,這個樣廣播接受者能快速的獲得廣播的內容。

例:

Intent intent = new Intent("some.custom.action");
intent.putExtra("some_boolean", true);
sendStickyBroadcast(intent);

 

CALL_PHONE

允許應用不通過啟動電話的鍵盤輸入界面而直接打電話。

例:

Intent intentcall = new Intent();
intentcall.setAction(Intent.ACTION_CALL);
intentcall.setData(Uri.parse("tel:" + phonenumber)); // set the Uri
startActivity(intentcall);

注:

在使用這個方法之前需要確認設備是否支持打電話功能,否則會報錯。

<uses-feature android:name="android.hardware.telephony" android:required="false" />

 

CALL_PRIVILEGED

能撥打任何電話號碼,而不通過號碼鍵盤。

這個權限不能被第三方使用。

 

 

CAMERA

能夠訪問設備的相機。

例:當手機中有個攝像頭的時候,打開其中的一個http://www.cnblogs.com/qinghuaideren/p/3878522.html

注:

在使用之前需要添加下面這個東西

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM