1. 程式人生 > >api23及以上應用請求許可權的解決方案

api23及以上應用請求許可權的解決方案

private void populateAutoComplete() {
    if (!mayRequestContacts()) {
        return;
}// TODO: 2016/10/8  已獲得許可權時,需要完成以下任務
}
/**
 * 檢查並請求許可權
 * @return true 為已獲取到該許可權,false為未獲得許可權
 */
private boolean mayRequestContacts() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {//如果版本小於23則不用進行請求
return true;
} //檢查是否獲得許可權 if (checkSelfPermission(READ_CONTACTS) == PackageManager.PERMISSION_GRANTED) {//如果應用已獲取許可權,checkSelfPermission則返回PERMISSION_GRANTED return true; } //呼叫該方法,返回true則需要給使用者一個選擇,使用者可以取消授權 if (shouldShowRequestPermissionRationale(READ_CONTACTS)) { Snackbar.make(mEmailView, R.string.permission_rationale
, Snackbar.LENGTH_INDEFINITE) .setAction(android.R.string.ok, new View.OnClickListener() { @Override @TargetApi(Build.VERSION_CODES.M) public void onClick(View v) { requestPermissions(new String[]{READ_CONTACTS
}, REQUEST_READ_CONTACTS); } }); } else { requestPermissions(new String[]{READ_CONTACTS}, REQUEST_READ_CONTACTS); } return false; }
/**
 * 請求許可權的回撥介面
 */
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
    if (requestCode == REQUEST_READ_CONTACTS) {
        if (grantResults.length == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {//使用者允許獲得該許可權
populateAutoComplete();
} else {//使用者不允許獲得該許可權
}
    }
}

相關推薦

api23以上應用請求許可權解決方案

private void populateAutoComplete() { if (!mayRequestContacts()) { return; }// TODO: 2016/10/8 已獲得許可權時,需要完成以下任務 }/** * 檢查並請

NodeMCU教程 http.get請求上傳中文亂碼解決方案

這是練英語寫作的,中文在下面。 1、Connect Wifi Before we make a http-get request, connecting Wifi must be done.The demo gave by official website is as Co

Server2008 R2 中拒絕訪問 ProgID: "excel.application"配置Microsoft Excel Application許可權解決方案

如果按照 http://blog.csdn.net/kongwei521/article/details/43699503 兩個連結裡面都無法解決的話 採用終極辦法 C:\Windows\SysWOW64\config\systemprofile\Desktop 64位

WebKit.NET-0.5簡單應用(2)——音量解決方案

word entry imp ssi rsh turn ati window bject 查找WebKit.NET相關文檔,沒有找到音量控制解決方法。換思路進行解決,嘗試用Win32 API進行解決 [DllImport("winmm.dll")] public stat

微服務架構分布式事務解決方案

路由 ons city nic net 原則 分享圖片 成功 ket 分布式事務 分布式事務場景如何設計系統架構及解決數據一致性問題,個人理解最終方案把握以下原則就可以了,那就是:大事務=小事務(原子事務)+異步(消息通知),解決分布式事務的最好辦法其實就是不考慮

ajax 請求成功,但是後臺feigin請求超時解決方案

== class 技術分享 pre lee sun handler cati try ========後臺請求數據時間較長,報feigin超時錯誤====== fegin報錯如下: feign.RetryableException: Read timed out exe

前端 SPA 單頁應用資料統計解決方案 (ReactJS / VueJS)

前端 SPA 單頁應用資料統計解決方案 (ReactJS / VueJS) 一、百度統計的程式碼: UV PV 統計方式可能存在問題 在 SPA 的前端專案中 資料統計,往往就是一個比較麻煩的事情,React 和 Vue 也是一樣。 在 發現問題之前,我們得來思考下 百度統計的 統計原理 是什麼?

讓Windows Server 2008 + IIS 7+ ASP.NET 支援10萬併發請求--手動解決方案(轉載)

今天下午17點左右,部落格園部落格站點出現這樣的錯誤資訊: Error Summary: HTTP Error 503.2 - Service Unavailable The [email protected] setting is being exceeded. 

git指令總結常見問題積累與解決方案

git指令總結及常見問題積累與解決方案 git初始化一個專案並且長傳到伺服器後端步驟: 1、本地檔案操作 通過:git init初始化化一個專案  會出現一個隱藏檔案 ,可以資料夾屬性設定進行檢視,此時檔案的狀態有三個:原始檔案狀態、納入快取檔案狀態、納入版本庫的檔案狀態。 原始檔

jquery ajax多次請求介面解決方案

如果有個地方$('#Id').click(function(){    $.ajax({})}); 改成這樣$('#Id).unbind('click').bind('click',function(){     $.ajax({}) }); 這樣用就不會提交很

裝置聯網PLC資料採集管理解決方案

方案概述      工業裝置聯網及資料採集管理解決方案是將裝置作為資訊節點融入到企業整合資訊化的管理中,實時、準確、自動地為整個資訊系統提供及時、有效、真實的資料,以實現管理層與執行層資訊的交流和協同工作;通過HINET智慧閘道器採用現場網路或無線網路進行生產裝置的聯網,構

由inline-block小例子引申出的一些列問題,IE6、IE7相容性解決方案

使用場景分析: 常見的對塊與塊之前的橫向排列處理   對同級所有元素使用display:inline-block; , 之後塊與塊直接會產生間隙問題 解決辦法: 給父級設 font-size:0; 別高興的太早,我們看看在ie7的時候,是顯示如何 我們可以發現,問題有二 ① inline-block失效

Android Pie不支援http請求解決方案

如果,你把app的targetSdkVersion設定為了28,那就可能面臨著不能訪問http介面和網頁的問題。因為Android p預設不支援http的連線請求,和ios一樣。要解決這個問題,就需要新增一個配置。 異常為(網路請求): Exception: IOExceptio

springcloud非同步執行緒池、高併發請求feign解決方案

ScenTaskTestApplication.java package com.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.a

JS跨域請求解決方案

出現JS跨域請求的原因: 瀏覽器檢測到源的異常 什麼叫做JS跨域: 兩個應用協議,主機地址(域名),埠號。三者有一個不同,則認為他們的域不同。 例如: http:localhost:80/a https:localhost:80/b 此時的a與b的應用協議是不同

關於js中連續click時不執行訪問後臺請求,當點選停止2s之後,立即發起訪問後臺的請求解決方案

防止使用者重複向後臺發起大量請求,下面我們通過一個例子實現: 當連續點選修改溫度的值時,頁面上顯示的值每次都根據具體情況做出修改,但是將這個值儲存的資料庫的操作則是在點選操作結束後2s發起的(其中若連續多次點選改變溫度的值,則只是在使用者最後一次修改完成後2s執行儲存到資料庫的操作)

iOS 11適配:LSApplicationWorkspace無法獲取應用安裝列表解決方案

iOS11 系統更新後,私有API iOS 11 LSApplicationWorkspace無法獲取應用安裝列表,導致無法判斷某個APP是否已安裝。 解決方案: 使用私有庫 Mobi

水泥廠能源管控系統應用開發技術解決方案服務商

隨著工業化,城市化程序的加快和消費結構的不斷升級,我國的能源需求急劇增長。 由於國內資源支援能力和環境容量限制,以及全球能源安全和氣候變化影響,對資源和環境的限制日益加強。 能源管理系統的應用已成為高耗能企業不可或缺的軟體設施。能源管控系統應用開發技術解決方案服務商V【mslongya】傳統建材行業是中國工業

微信掃二維碼下載apk跳轉瀏覽器開啟的方式(微信遮蔽下載解決方案)

需求:想讓使用者在微信掃描二維碼或者點選就能下載APP,並統計被掃描次數。 兩種實現方法: 1.一般我們用草料生成二維碼,如果沒有註冊的話只能生成一個包含下載網址的靜態碼,沒有統計功能,而且出了自己截圖儲存外,草料是不會儲存你的二維碼的。 如果註冊草料後,可以選擇生成活碼。所謂活碼,就是一個指向頁面,然

lombok安裝eclipse與maven的解決方案

1. 下載lombok.jar包 2. 執行lombok.jar java -jar D:\work\evn\lombok.jar D:\work\evn\lombok.jar這是windows下lombok.jar所在的位置,數秒後將彈出一框