android:動的申請権限(一)
5103 ワード
環境:
Androidバージョン6.0
SDKバージョン23に対応
動的申請権限の説明:すべての動的申請の権限は、AndroidManifestにある必要があります.xmlで宣言
ステップ
1、androidプロジェクトを新規作成する
デフォルトで作成
2、AndroidManifest.xml権限の追加
ここはandroidです.permission.READ_CONTATSの例:
3、MainActivity
説明:sdkバージョンが23未満の場合、権限の使用方法はこれとは異なります(android-support-v 4.jarをインポートする必要があります).
ダウンロード先:http://www.pc0359.cn/downinfo/62688.html
supportlibraryeresupportv 7appcompatlibsの下のlibパッケージをプロジェクトに参照します.
Androidバージョン6.0
SDKバージョン23に対応
動的申請権限の説明:すべての動的申請の権限は、AndroidManifestにある必要があります.xmlで宣言
ステップ
1、androidプロジェクトを新規作成する
デフォルトで作成
2、AndroidManifest.xml権限の追加
ここはandroidです.permission.READ_CONTATSの例:
3、MainActivity
package com.xxx.xxx;
import android.Manifest;
import android.app.Activity; import android.content.pm.PackageManager; import android.os.Bundle; import android.widget.Toast; public class MainActivity extends Activity { private static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // if (checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) { if (shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)) { // Toast.makeText(this, "Apply Reason: 。。。", Toast.LENGTH_LONG).show(); } // , , requestPermissions(new String[] { Manifest.permission.READ_CONTACTS }, MY_PERMISSIONS_REQUEST_READ_CONTACTS); return; } } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST_READ_CONTACTS: { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { // Toast.makeText(this, "Apply Perssion Successfully", Toast.LENGTH_SHORT).show(); } else { // Toast.makeText(this, "Apply Perssion Failed", Toast.LENGTH_SHORT).show(); // // 1、 , // 2、 , , , } return; } } } }
説明:sdkバージョンが23未満の場合、権限の使用方法はこれとは異なります(android-support-v 4.jarをインポートする必要があります).
ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE)
ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
ダウンロード先:http://www.pc0359.cn/downinfo/62688.html
supportlibraryeresupportv 7appcompatlibsの下のlibパッケージをプロジェクトに参照します.