Ошибка при запуске камеры Android-студии

74
6

Доброе утро,

Я использую следующий код, чтобы сделать снимок и отобразить его в Imageview.

    private static final int CAMERA_REQUEST = 1888;
public void OpenCamera(){
AddImage.setOnClickListener(
new View.OnClickListener(){
@Override
public void onClick(View v){
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
);

}
// for getting displaying the picture on the image view
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
// to remove the main background and draw the picture
AddImage.setBackgroundResource(0);
AddImage.setImageBitmap(photo);
//Barcode();
}
}

Все работало нормально, пока не импортировало библиотеку zxing для генерации QR-кодов для принятых изображений. Тем не менее, я проверял разрешение камеры в "манифесте" и его работоспособности, код разрешения:

<uses-permission android:name="android.permission.CAMERA"> </uses-permission>

И метод его проверки (его возвращение истинно):

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;
}

Теперь я получаю следующую ошибку: "startActivityForResult (cameraIntent, CAMERA_REQUEST)"; называется:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: iq.wissam.CoiApp, PID: 3853
java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE cmp=com.android.camera/.Camera } from ProcessRecord{88f1abb 3853:iq.nazaha.wissam.CoiApp/u0a85} (pid=3853, uid=10085) with revoked permission android.permission.CAMERA
at android.os.Parcel.readException(Parcel.java:1683)
at android.os.Parcel.readException(Parcel.java:1636)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3071)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1518)
at android.app.Activity.startActivityForResult(Activity.java:4224)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
at android.app.Activity.startActivityForResult(Activity.java:4183)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
at iq.nazaha.wissam.CoiApp.AddNewItemPage$1.onClick(AddNewItemPage.java:91)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

Заранее спасибо.

спросил(а) 2017-01-14T10:55:00+03:00 4 года, 1 месяц назад
0
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема