2016-11-28 26 views
0

クラスアプリケーション内で実行時に権限を適用する必要がありますか? 例:Androidでクラスアプリケーションを拡張しますか?

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:私の英語のため申し訳ありません:(

答えて

0

あなたはその後、マシュマロOSを持つデバイスをターゲットにしている場合は?内部クラスは、私はいくつかのコードを書いたの代わりに、私は別のクラスで書いたアプリケーションを拡張しますそれが実装する必要がありますなぜあなたは

。あなたのコード内で実行時の概念でアクセス許可の要求を実装する必要があります。しかし?

をマシュマロにはないので私たちのアプリケーションをインストールするときに、許可のためにsk。

新しい機能、つまり実行時にアクセス権を要求する機能が導入されています。つまり、外部ストレージの読み取り/書き込み、SMSの送受信、カメラへのアクセスなどを実行時に許可する必要があります。

このコンセプトは、ユーザーがアプリケーションに許可するすべてのアクセス権について、各&についての情報を得ることができるため、有益です。ユーザーは、自分のデバイスから[設定]> [アプリケーション]> [写真アプリを取得]>権限を使用して、許可されている権限を取り消すことができます。

実行時アクセス権を実装していない場合、アプリケーションはクラッシュするか、MarshMallowを持つデバイスで正常に動作しません。

許可カテゴリーの2種類があります

  • 危険
  • ノーマル

は、アクセス許可のhere

どちらのタイプ上の権限についての詳細を学ぶことができますが定義する必要がありますAndroidManifest.xmlでは危険なアクセス許可のみが実行時要求を必要とします。

通常の権限はインストール時に要求されており、後で取り消すことはできません。例えば:android.permission.INTERNETあなた

0

あなたは@Abhishekシン許可がマシュマロのターゲットデバイスのために必要とされている通りApplicationクラス自体に権限を確認することができますし、あなたも許可を処理する必要があります。詳細についてはhereをご確認ください。

関連する問題