![](/img/trans.png)
[英]Does Android Application Upgrade call the Class that extends Application?
[英]Extends class Application in Android?
我應該在運行時在Application類內應用權限嗎? 例如:內部類擴展了Application我寫了一些代碼,而不是我在另一個類上寫了:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(PhotoActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED &&
ContextCompat.checkSelfPermission(PhotoActivity.this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED &&
ContextCompat.checkSelfPermission(PhotoActivity.this,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
// No explanation needed, we can request the permission.
ActivityCompat.requestPermissions(PhotoActivity.this,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA},
Constants.MY_PERMISSIONS_REQUEST_ACCESS_STORAGE);
}
}
P / s:對不起,我的英語:(
如果您要定位具有MarshMallow OS的設備? 然后,您必須在代碼中實現“在運行時請求權限”概念。
但是為什么有必要實施呢?
由於MarshMallow不需要許可,因此在安裝應用程序時。
它引入了一項新功能,即在運行時請求權限。 這意味着您必須在運行時授予對外部存儲設備讀/寫,發送/接收短信,訪問攝像機等的權限。
這個概念很有用,因為用戶可以隨時了解他/她授予應用程序的每個許可。 用戶可以通過設備上的設置>>應用程序>>拍照應用程序>>權限撤消授予的權限。
如果您未實現運行時權限,則您的應用程序將崩潰或在具有MarshMallow的設備上無法正常運行。
權限類別有2種類型:
您可以在此處了解有關權限的更多信息
必須在AndroidManifest.xml中定義兩種權限,但是只有危險權限才需要運行時請求。
在安裝時已請求普通權限,以后無法撤消。 例如:android.permission.INTERNET
您可以按照@Abhishek Singh在Application
類本身中檢查權限,棉花糖的目標設備需要該權限,並且您也必須處理該權限。 更多信息請點擊這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.