Permission ขอกันยังไง?


สวัสดีครับวันนี้เราก็จะพูดถึงเกี่ยวกับการขอสิทธิ์ในการเข้าถึงต่างๆที่บางสิทธิ์ของแอนดรอย์ต้องได้รับอนุญาตจากผู้ใช้งานก่อนถึงจะอนุญาตให้ถึงการใช้งานได้ เรามาดูกันเลยว่ามีวิธีการเขียนโค้ดกันยังไง
เปิดไฟล์ manifest/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.todo.geekcreator.todosuccess">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>
    </application>

</manifest>


ขอสิทธิ์ในการเข้าใช้งานสิทธิ์ต่างๆแบบปกติ
เปิดไฟล์ java/MainActivity.java

public class MainActivity extends AppCompatActivity {

private static final int REQUEST_STORE =0;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
                != PackageManager.PERMISSION_GRANTED){
            requestPermission();
        }
}
private void requestPermission() {


        if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE)) {

            ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORE);
            // Show an explanation to the user *asynchronously* -- don't block
            // this thread waiting for the user's response! After the user
            // sees the explanation, try again to request the permission.


        } else {

            // No explanation needed, we can request the permission.

            ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORE);

            // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
            // app-defined int constant. The callback method gets the
            // result of the request.
        }
@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode==REQUEST_STORE){
            if (grantResults.length==1&&grantResults[0]==PackageManager.PERMISSION_GRANTED){

            }
        }
    }
}


สำหรับการเขียนโค้ดในการขอใช้ Permission ก็ขอจบไว้เพียงเท่านี้และหากมีข้อสงสัยสามารถคอมเมนต์ไว้ได้ที่โพสต์ด้านล่างเลยครับ สำหรับขอลาไปก่อนสวัสดีครับ

ความคิดเห็น

บทความที่ได้รับความนิยม