Skip to content

Instantly share code, notes, and snippets.

@fgonga
Created June 21, 2021 10:30
Show Gist options
  • Save fgonga/63321d6217d13f36371714a053755dc3 to your computer and use it in GitHub Desktop.
Save fgonga/63321d6217d13f36371714a053755dc3 to your computer and use it in GitHub Desktop.
Android Studio Check And Request Permission
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fgonga.stock">
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Stock">
<activity android:name="com.fgonga.stock.BuscarViaQr" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Stock.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
permission();
}
public void permission(){
PermissionUtil.checkAndRequestPermission(getApplicationContext(),this);
}
package com.fgonga.stock.uteis;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.Build;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import static android.Manifest.permission.CAMERA;
public class PermissionUtil {
private static final int REQUEST_CAMERA = 1;
public static boolean checkPermission(Context applicationContext)
{
int currentApiVersion = Build.VERSION.SDK_INT;
if(currentApiVersion >= Build.VERSION_CODES.M)
{
if (ContextCompat.checkSelfPermission(applicationContext, CAMERA) == PackageManager.PERMISSION_GRANTED){
return true;
}
return false;
}
return true;
}
public static void checkAndRequestPermission(Context applicationContext, Activity activity){
if (!checkPermission(applicationContext)) {
requestPermission(activity);
}
}
public static void requestPermission(Activity activity){
ActivityCompat.requestPermissions(activity, new String[]{CAMERA}, REQUEST_CAMERA);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment