當前位置:首頁 » 安卓系統 » android播放許可權

android播放許可權

發布時間: 2022-12-12 17:40:20

㈠ android 使用MediaPlayer播放音樂要添加的許可權是什麼

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS">
在讀取音樂文件的時候,為了同步輸入輸出,是需要寫的許可權的

安卓手機怎麼開啟視頻許可權

用手機打開qq視頻顯示不存在或設置許可權是因為許可權設置中禁止了打開攝像頭,在許可權管理中開啟即可,如果手機中找不到軟體許可權管理設置,可以通過第三方軟體實現,比如360安全衛士,操作步驟如下:
1、在手機中找到360安全衛士客戶端並點擊打開。
2、來到360安全衛士首頁,點擊下面的「軟體管理」。
3、接著點擊「許可權管理」,並進入「QQ許可權設置」。
4、然後在QQ的隱私許可權中,把「打開攝像頭」這項許可權設置為「允許」即可。

㈢ Android 播放 網頁MP4 需要哪些許可權

1,訪問網路需要加這個許可權
<uses-permission android:name="android.permission.INTERNET" />

㈣ android 使用MediaPlayer播放音樂要添加的許可權是什麼

android 使用MediaPlayer播放音樂要添加的許可權是:

public Boolean playMusic(Context myContext) {

bgMusic = new MediaPlayer();

bgMusic = MediaPlayer.create(myContext, R.raw.music);

bgMusic.setLooping(true);

try {

if (bgMusic != null) {

bgMusic.stop();

}

bgMusic.prepare();

bgMusic.start();

return true;

} catch (IllegalStateException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return false;

}

㈤ android開發播放音樂需要聲明什麼許可權

MEDIA_CONTENT_CONTROL
MODIFY_AUDIO_SETTINGS
READ_EXTERNAL_STORAGE
只是播放的話有這幾個應該夠了,如果需要播放流媒體的話還要再加幾個:

ACCESS_NETWORK_STATE
ACCESS_WIFI_STATE
INTERNET

㈥ 聊聊Android6.0 以上系統許可權

一個新建的Android應用默認是沒有許可權的,這意味著它不能執行任何可能對用戶體驗有不利影響的操作或者訪問設備數據。為了使用受保護的功能,你必須包含一個或者多個標簽在你的app manifest中。

1、Android 6.0中許可權分為兩種,普通許可權和危險許可權(即運行時許可權,下面統稱運行時許可權)。

1.1普通許可權

如果你的應用manifest中只申明了普通許可權(也就是說,這些許可權對於用戶隱私和設備操作不會造成太多危險),系統會自動授予這些許可權。

1.2運行時許可權

如果你的應用manifest中聲明了運行時許可權(也就是說,這些許可權可能會影響用戶隱私和設備的普通操作),系統會明確的讓用戶決定是否授予這些許可權。系統請求用戶授予這些許可權的方式是由當前應用運行的系統版本來決定的。

1.2.1 Android6.0及以上的系統

如果你的設備運行的是Android6.0(API level 23)及以上的系統,並且你的應用的targetSdkVersion也是23或者更高,那麼應用向用戶請求這些許可權是實時的。這意味著用戶可以隨時取消 這些運行時許可權的授權。所以應用在每次需要用到這些運行時許可權的時候都需要去檢查是否還有這些許可權的授權。

1.2.2 Android 5.1及以下的系統

如果你的設備運行在Android5.1(API level 22)及以下的系統中,或者你的app的targetSdkVersion是22或者更低。系統會請求用戶在apk安裝的時候授予這些許可權。

如果你的應用更新的時候添加了一個許可權,系統會在用戶更新應用的時候請求用戶授予這個許可權 , 一旦用戶安裝了這個應用,唯一可以取消授權的方式就是卸載掉這個應用。 注意這句話的意思,想一下如果app的targetSdkVersion是22或者以下,但是運行在Android6.0及以上的設備中會有什麼問題?後面會分析這個問題 。

常常來說一個授權失敗會拋出SecurityException,然而這並不是在 所有情況下都會發生。比如,發送一個廣播去檢查授權(SendBroadcast(Intent)),數據會被發送給所有接收者,但是當這個方法的請求返 回的時候,你不會收到任何一個因為授權失敗拋出的異常,其實在大多數情況下,授權失敗只會列印系統日誌。

1.3自動許可權調整

簡單的說,如果你的app targetSdkVersion是3,而你當前運行的系統版本是4,那麼在android version 4 中新添加的許可權會自動添加到你的app中。

比如 WRITE_EXTERNAL_STORAGE許可權是在api 4的時候添加的,而你的應用的targetSdkVersion是3,那麼這個許可權會自動添加到你的應用中。而且在官方商店上這個許可權也會列出來(盡管可能你並不需要這個許可權)。

所以建議經常更新你的targetSdkVersion到最新版本。

下面來回答上面的那個問題,如果app的targetSdkVersion是22或者以下,但是運行在android 6.0或以上版本的手機中,會發生什麼?

安裝過程中,會一起請求用戶授予所有 許可權,如果用戶拒絕,將不能安裝這個app,只有用戶全部同意這些授權,才能安裝這個應用,但是問題來了,安裝好了這個應用之後,android6.0以 上的系統中,用戶是可以去設置中取消授權的,而且是隨時都可以取消,所以很多運行時許可權可能也得不到,目前官方的做法是,如果用戶取消該項授權,那麼依賴 該項授權的方法的返回值為null,所以你的app可能會報空指針異常。以後是否會針對22以下的app做改變還不得而知,畢竟crash是很難讓人接受 的,但是crash是由用戶造成的,用戶應該也可以理解。

2、普通許可權和運行時許可權

系統許可權會被傳遞給兩種不同的保護級別,我們所知道這兩種最重要的保護級別就是普通許可權和運行時許可權。

2.1 普通許可權

普通許可權的覆蓋區域是在你的app需要訪問沙盒以外的數據和資源的時候,但是對用戶隱私和其他app的操作只有很少的影響,比如開啟手電筒的許可權。這個時候,系統會自動授權這些普通許可權。

Normal Permissions:

ACCESS_LOCATION_EXTRA_COMMANDS

ACCESS_NETWORK_STATE

ACCESS_NOTIFICATION_POLICY

ACCESS_WIFI_STATE

BLUETOOTH

BLUETOOTH_ADMIN

BROADCAST_STICKY

CHANGE_NETWORK_STATE

CHANGE_WIFI_MULTICAST_STATE

CHANGE_WIFI_STATE

DISABLE_KEYGUARD

EXPAND_STATUS_BAR

GET_PACKAGE_SIZE

INSTALL_SHORTCUT

INTERNET

KILL_BACKGROUND_PROCESSES

MODIFY_AUDIO_SETTINGS

NFC

READ_SYNC_SETTINGS

READ_SYNC_STATS

RECEIVE_BOOT_COMPLETED

REORDER_TASKS

REQUEST_INSTALL_PACKAGES

SET_ALARM

SET_TIME_ZONE

SET_WALLPAPER

SET_WALLPAPER_HINTS

TRANSMIT_IR

UNINSTALL_SHORTCUT

USE_FINGERPRINT

VIBRATE

WAKE_LOCK

WRITE_SYNC_SETTINGS

2.2 運行時許可權

運行時許可權的覆蓋區域是你的app想要的數據和資源涉及用戶的隱私信息,或者是可能潛在的影響用戶的存儲數據或者其他app的操作。比如,請求獲取用戶聯系人信息的許可權。如果一個app申明了運行時許可權,用戶必須明確的授權這些許可權給app。

2.3 許可權組

所有的運行時許可權都屬於對應的許可權組,如果你的app運行在android6.0及以上系統,下面的規則都適用:

2.3.1 如果一個app在manifest中請求了一個運行時許可權,而且app還沒有得到這個運行時許可權所在的許可權組中的任何一個運行時許可權授權,那麼系統會彈出一個對話框,描述app想要訪問的運行時許可權的許可權組,這個對話框不會描述這個許可權組中某一個特定的許可權。比如,你的app想要請求READ_CONTACT許可權,對話框只會描述app想要請求設備的聯系人,如果用戶授權通過,系統會授予app所請求的該項許可權。

2.3.2 如果一個app在manifest中請求一個運行時許可權,並且這個app已經在相同的許可權組中有了另一個運行時許可權的授權,那麼系統不會彈出對話框,而是會立即授予app該項運行時許可權的授權。比如,一個app之前請求過一個READ_CONTACT的許可權並且被授權通過,之後又請求一個WRITE_CONTACT(在同一個許可權組)許可權,那麼系統會自動授予該許可權。

其實所有許可權(普通許可權、運行時許可權、用戶自定義許可權)都屬於特定的許可權組,但是只有運行時許可權的許可權組才會影響用戶體驗。

2.3.3運行時許可權組和許可權組列表

group:android.permission-group.CONTACTS

permission:android.permission.WRITE_CONTACTS

permission:android.permission.GET_ACCOUNTS

permission:android.permission.READ_CONTACTS

group:android.permission-group.PHONE

permission:android.permission.READ_CALL_LOG

permission:android.permission.READ_PHONE_STATE

permission:android.permission.CALL_PHONE

permission:android.permission.WRITE_CALL_LOG

permission:android.permission.USE_SIP

permission:android.permission.PROCESS_OUTGOING_CALLS

permission:com.android.voicemail.permission.ADD_VOICEMAIL

group:android.permission-group.CALENDAR

permission:android.permission.READ_CALENDAR

permission:android.permission.WRITE_CALENDAR

group:android.permission-group.CAMERA

permission:android.permission.CAMERA

group:android.permission-group.SENSORS

permission:android.permission.BODY_SENSORS

group:android.permission-group.LOCATION

permission:android.permission.ACCESS_FINE_LOCATION

permission:android.permission.ACCESS_COARSE_LOCATION

group:android.permission-group.STORAGE

permission:android.permission.READ_EXTERNAL_STORAGE

permission:android.permission.WRITE_EXTERNAL_STORAGE

group:android.permission-group.MICROPHONE

permission:android.permission.RECORD_AUDIO

group:android.permission-group.SMS

permission:android.permission.READ_SMS

permission:android.permission.RECEIVE_WAP_PUSH

permission:android.permission.RECEIVE_MMS

permission:android.permission.RECEIVE_SMS

permission:android.permission.SEND_SMS

permission:android.permission.READ_CELL_BROADCASTS

可以通過adb shell pm list permissions -d -g進行查看。

看到上面的dangerous permissions,會發現一個問題,好像危險許可權都是一組一組的,恩,沒錯,的確是這樣的,那麼有個問題:分組對我們的許可權機制有什麼影響嗎?的確是有影響的,如果app運行在Android 6.x的機器上,對於授權機制是這樣的。如果你申請某個危險的許可權,假設你的app早已被用戶授權了 同一組 的某個危險許可權,那麼系統會立即授權,而不需要用戶去點擊授權。比如你的app對READ_CONTACTS已經授權了,當你的app申請WRITE_CONTACTS時,系統會直接授權通過。此外,對於申請時彈出的dialog上面的文本說明也是對整個許可權組的說明,而不是單個許可權(ps:這個dialog是不能進行定製的)。不過需要注意的是,不要對許可權組過多的依賴,盡可能對每個危險許可權都進行正常流程的申請,因為在後期的版本中這個許可權組可能會產生變化。

3、相關API

3.1 在AndroidManifest文件中添加需要的許可權。

這個步驟和我們之前的開發並沒有什麼變化,試圖去申請一個沒有聲明的許可權可能會導致程序崩潰。

3.2 檢查許可權

if (ContextCompat.checkSelfPermission(thisActivity,

Manifest.permission.READ_CONTACTS)

!= PackageManager.PERMISSION_GRANTED) {

}else{

//

}

這里涉及到一個API,ContextCompat.checkSelfPermission,主要用於檢測某個許可權是否已經被授予,方法返回值為PackageManager.PERMISSION_DENIED或者PackageManager.PERMISSION_GRANTED。當返回DENIED就需要進行申請授權了

3.3 申請授權

ActivityCompat.requestPermissions(thisActivity,

new String[]{Manifest.permission.READ_CONTACTS},

MY_PERMISSIONS_REQUEST_READ_CONTACTS);

該方法是非同步的,第一個參數是Context;第二個參數是需要申請的許可權的字元串數組;第三個參數為requestCode,主要用於回調的時候檢測。可以從方法名requestPermissions以及第二個參數看出,是支持一次性申請多個許可權的,系統會通過對話框 逐一 詢問用戶是否授權。

3.4 處理許可權申請回調

@Override

(intrequestCode,

String permissions[],int[] grantResults) {

switch(requestCode) {

case MY_PERMISSIONS_REQUEST_READ_CONTACTS: {

// If request is cancelled, the result arrays are empty.

if(grantResults.length >0&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {

// permission was granted, yay! Do the contacts-related task you need to do.

}else{

// permission denied, boo! Disable the functionality that depends on this permission.

}

return;

}

}

}

ok,對於許可權的申請結果,首先驗證requestCode定位到你的申請,然後驗證grantResults對應於申請的結果,這里的數組對應於申請時的第二個許可權字元串數組。如果你同時申請兩個許可權,那麼grantResults的length就為2,分別記錄你兩個許可權的申請結果。如果申請成功,就可以做你的事情了!

那麼將上述幾個步驟結合到一起就是:

// Here, thisActivity is the current activity

if (ContextCompat.checkSelfPermission(thisActivity,

Manifest.permission.READ_CONTACTS)

!= PackageManager.PERMISSION_GRANTED) {

// Should we show an explanation?

if (ActivityCompat.(thisActivity,

Manifest.permission.READ_CONTACTS)) {

// Show an expanation to the user *asynchronously* -- don't block

// this thread waiting for the user's response! After the user

// sees the explanation, try again to request the permission.

} else {

// No explanation needed, we can request the permission.

ActivityCompat.requestPermissions(thisActivity,

new String[]{Manifest.permission.READ_CONTACTS},

MY_PERMISSIONS_REQUEST_READ_CONTACTS);

// MY_PERMISSIONS_REQUEST_READ_CONTACTS is an

// app-defined int constant. The callback method gets the

// result of the request.

}

}

謝幕,至此有關於android6.0 以上許可權相關的內容已經詳細講完了!

㈦ android中mediaplayer播放網路音頻文件要設置許可權嗎

音頻播放都是放在Service中進行,而界面是在Activity中,所以兩者之間的通信是核心。你的問題可能是有兩個player對象導致的。

安卓系統手機如何設置軟體許可權

若使用的是vivo手機,可參考進入設置--應用與許可權/更多設置--許可權管理--許可權中設置應用的許可權。

㈨ android的錄音和播放需要哪些許可權

清單文件裡面加上下面2種許可權
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

熱點內容
javaset方法 發布:2025-03-19 00:44:21 瀏覽:245
淘寶上傳文件夾 發布:2025-03-19 00:36:30 瀏覽:73
oracle資料庫備份數據 發布:2025-03-19 00:35:04 瀏覽:547
蠶絲演算法 發布:2025-03-19 00:34:16 瀏覽:660
錄制測試腳本 發布:2025-03-19 00:33:33 瀏覽:376
x3000r存儲卡 發布:2025-03-19 00:12:22 瀏覽:221
ie不顯示腳本錯誤 發布:2025-03-19 00:09:53 瀏覽:958
免費網頁源碼 發布:2025-03-19 00:09:00 瀏覽:262
工業企業資料庫 發布:2025-03-18 23:51:44 瀏覽:95
寶馬車的配置主要看哪些 發布:2025-03-18 23:50:09 瀏覽:485