When i install my application first time and try to use my CAMERA it doesn't ask for permission
MY PERMISSION METHOD
public boolean hasPermissionInManifest(Context context, String permissionName) {
final String packageName = context.getPackageName();
try {
final PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
final String[] declaredPermisisons = packageInfo.requestedPermissions;
if (declaredPermisisons != null && declaredPermisisons.length > 0) {
for (String p : declaredPermisisons) {
if (p.equals(permissionName)) {
return true;
}
}
}
} catch (PackageManager.NameNotFoundException e) {
}
return false;
}
When i debugg my app i found that the CAMERA
permission is presente in the declaredPermisisons
AndroidManifest.xml
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
...
NOTE : the permissions found in declaredPermisisons
I don't know about why your code is not working but this is what I use for permission:
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_PERMISSION_CODE = 1000;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(!checkPermissionFromDevice())
requestPermission();
}
private void requestPermission() {
ActivityCompat.requestPermissions(this,new String[]{
Manifest.permission.CAMERA
},REQUEST_PERMISSION_CODE);
}
private boolean checkPermissionFromDevice() {
int camera = ContextCompat.checkSelfPermission(this,Manifest.permission.CAMERA);
return camera ==PackageManager.PERMISSION_GRANTED;
}
}