1. android 哪些許可權需要動態獲取
動態獲取是針對6.0以上的設備,一般指的是敏感許可權。比如定位 修改系統配置 打開wifi 讀取聯系人 相機等等許可權。
2. 在android AndroidManifest.xml文件中怎樣設置訪問網路的許可權
Android訪問網路的許可權是android.permission.INTERNET。
聲明許可權的方式:
第一步:打開 AndroidManifest.xml文件
第二步:在application節點之前增加<uses-permission android:name=」android.permission.INTERNET」></uses-permission>
代碼中需要通過Thread來訪問網路,UI線程連接網路Android會拋出異常。
資料拓展:
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。
3. 安卓系統如何設置代理伺服器及用戶名,密碼
打開手機設置菜單,選擇「無線和網路」選項,然後進入WLAN設置界面。
點擊顯示高級選項,在代理設置欄中選擇手動,輸入代理伺服器主機名及代理伺服器埠號。
對於不使用代理伺服器的內網地址,需在「對以下網址不適用代理」欄中填寫即可。
4. 安卓P網路許可權問題
android:usesCleartextTraffic 指示應用程序是否打算使用明文網路流量,例如明文HTTP。目標API級別為27(N)或更低的應用程序的默認值為「 true」。面向API級別28(P)或更高級別的應用默認為「 false」。
當屬性設置為「 false」時,平台組件(例如,HTTP和FTP堆棧,DownloadManager和MediaPlayer)將拒絕應用程序使用明文流量的請求。強烈建議第三方庫也採用此設置。避免明文通信的主要原因是缺乏機密性,真實性和防篡改保護;網路攻擊者可以竊聽所傳輸的數據,並且還可以對其進行修改而不會被檢測到。
所以在安卓P之後將禁止APP使用所有未加密的的鏈接,因此運行安卓P系統的安卓設備無論是接受或者發送流量,未來都不能使用明碼傳輸,需要使用下一代(Transport Layer Security)傳輸層安全協議,而安卓N和O則不會受到影響。
舉例:
在安卓P中使用HttpUrlConnection進行http請求會出現以下異常
W/System.err: java.io.IOException: Cleartext HTTP traffic to **** not permitted
在安卓P中使用OKHttp請求則會出現
java.net.UnknownServiceException: CLEARTEXT communication ** not permitted by network security policy
在安卓P系統的設備上,如果應用使用的是非加密的明文流量http網路請求,則會導致改應用無法進行網路請求,https則不會受影響,同樣的,如果應用嵌套了webview,webview也只能使用https請求。
解決方案:
針對這個問題,有以下三種解決方法:
1.APP改用https請求,這個需要伺服器也支持
2.targetSdkVersion降低到27以下
3.在清單文件中的application標簽中直接插入android:usesCleartextTraffic="true"
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="false"/>
</network-security-config>
在AndroidManifest.xml中,application節點下新增:
android:networkSecurityConfig="@xml/network_security_config"
5.新建res/xml/network_security_config.xml文件,設置網路安全性配置
這個方法跟上面的類似,不同之處在於,方法4將所有域名的http請求都允許了,下面這個方法只允許了指定域名的http請求。
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">(Your URL)xxx.x.xxx.xx</domain>
<domain includeSubdomains="true">x.xxx.xx</domain>
</domain-config>
</network-security-config>
5. Android6.0動態許可權申請步驟以及需要注意的一些坑
我的博客
我的博客:Android6.0動態許可權申請步驟以及需要注意的一些坑
因為工作需要,簡單研究了一下Android6.0許可權申請,在Google提供的sample的基礎上,寫了一個簡單的demo。算是自己的筆記吧,可能會比較混亂,主要是方便以後查看。後期有別的問題,隨時更新~
(1)checkSelfPermission:檢查是否擁有這個許可權
(2)requestPermissions:請求許可權,一般會彈出一個系統對話框,詢問用戶是否開啟這個許可權。
(3):在允許詢問時返回true ; 在許可權通過 或者許可權被拒絕並且禁止詢問時返回false ,如果從來沒有詢問過,也是返回的false, 所以單純的使用去做什麼判斷,是沒用的。。。 所以說這個地方有坑,我的解決方法是,在回調裡面處理,如果用戶拒絕了這個許可權,則打開本應用信息界面,由用戶自己手動開啟這個許可權。
(4)每個應用都有自己的許可權管理界面,裡面有本應用申請的許可權以及各種狀態,即使用戶已經同意了你申請的許可權,他也隨時可以關閉
其實和申請一個許可權是一樣的,只是requestPermissions(final @NonNull Activity activity,
final @NonNull String[] permissions, final int requestCode),裡面的permissions給的參數多些而已。
6. 如何修改安卓程序 訪問網路許可權
現在似乎還沒有限制其他軟體聯網的程序,因為安卓系統的軟體要使用那些系統資源是在程序的manifest文件裡面注冊的,所以能不能上網是操作系統說了算
7. Android系統,如何設置某個應用程序不允許訪問網路
設置方法;以華為手機設置禁止使用手機網路操作為例:
1、首先如圖所示,首先點擊手機桌面中的設置。
8. Android動態獲取許可權
在Android6.0以後很多許可權都不能靜態獲取了,需要動態獲取許可權,都2021年了,應該沒有版本還低於6.0吧,所以動態獲取許可權基本上是一個安卓程序員必須要掌握的本領了。下面就具體來看一下怎麼做吧。
准備工作:新建一個空白的activity
只有添加了靜態許可權之後才能動態獲取許可權,這里以常見的四個許可權為例:
下面附上許可權列表:
Android各種許可權列表
9. 在android AndroidManifest.xml文件中怎樣設置訪問網路的許可權
Android訪問網路的許可權是android.permission.INTERNET。
聲明許可權的方式:
打開 AndroidManifest.xml文件
在application節點之前增加<uses-permission android:name=」android.permission.INTERNET」></uses-permission>
代碼中需要通過Thread來訪問網路,UI線程連接網路Android會拋出異常。