activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/root_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16dp" android:orientation="vertical" android:background="#82a474" > <Button android:id="@+id/btn_do_task" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Check Permission" /> </LinearLayout>
MainActivity.java
package com.cfsuman.me.androidcodesnippets; import android.Manifest; import android.app.Activity; import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private Context mContext; private Activity mActivity; private LinearLayout mRootLayout; private Button mBtnDoTask; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Get the application context mContext = getApplicationContext(); mActivity = MainActivity.this; // Get the widget reference from xml layout mRootLayout = findViewById(R.id.root_layout); mBtnDoTask = findViewById(R.id.btn_do_task); // Set a click listener for the button mBtnDoTask.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){ /* int checkSelfPermission (Context context, String permission) Determine whether you have been granted a particular permission. Parameters context : Context permission String : The name of the permission being checked. Returns int : PERMISSION_GRANTED if you have the permission, or PERMISSION_DENIED if not. */ /* PackageManager Class for retrieving various kinds of information related to the application packages that are currently installed on the device. You can find this class through getPackageManager(). */ /* int PERMISSION_DENIED Permission check result : this is returned by checkPermission(String, String) if the permission has not been granted to the given package. Constant Value : -1 (0xffffffff) */ /* int PERMISSION_GRANTED Permission check result: this is returned by checkPermission(String, String) if the permission has been granted to the given package. Constant Value: 0 (0x00000000) */ if(ContextCompat.checkSelfPermission(mActivity,Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){ // Camera permission granted Toast.makeText(mContext,"Permission granted.",Toast.LENGTH_SHORT).show(); }else { // Camera permission not granted Toast.makeText(mContext,"Permission not granted.",Toast.LENGTH_SHORT).show(); } } } }); } }
AndroidManifest.xml [Permission]
<uses-permission android:name="android.permission.CAMERA"/>
Komentar
Posting Komentar