簡體   English   中英

擴展Android中的類應用程序?

[英]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 SinghApplication類本身中檢查權限,棉花糖的目標設備需要該權限,並且您也必須處理該權限。 更多信息請點擊這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM