は私が私がCamera2APIと協力し、私は私がすべきGoogleのドックに応じマシュマロの権限と説明
dinamicly permishionを依頼するprivate void openCamera(int width, int height) {
setUpCameraOutputs(width, height);
CameraHelper.configureTransform(width, height, textureView, previewSize, getActivity());
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
try {
if (!cameraOpenCloseLock.tryAcquire(2500, TimeUnit.MILLISECONDS)) {
throw new RuntimeException("Time out waiting to lock camera opening.");
}
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) !=
PackageManager.PERMISSION_GRANTED) {
// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
// 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(
getActivity(), new String[]{android.Manifest.permission.CAMERA},
MY_PERMISSIONS_REQUEST);
// MY_PERMISSIONS_REQUEST is an
// app-defined int constant. The callback method gets the
// result of the request.
}
}
manager.openCamera(mCameraId, mStateCallback, mBackgroundHandler);
} catch (CameraAccessException e) {
e.printStackTrace();
} catch (InterruptedException e) {
throw new RuntimeException("Interrupted while trying to lock camera opening.", e);
}
}
をコードする、このようなスニペットを実装するユーザー権限
に説明する必要がありますかplaese説明してもらえチェックユーザーが
前に許可を拒否した場合はfalse
shouldShowRequestPermissionRationale();
01のtrueを返す方法があります
とGoogle
アプリは、以前にこの権限を要求していると、ユーザが要求を拒否した場合、このメソッドがtrueを返す応じ。
私はこのメソッドの実装の内部に正しく従ったグーグルのコメントを理解していれば
//非同期ユーザーへの説明を表示 - を待っ
//このスレッドをブロックしませんのユーザーの応答!ユーザーの後に
//説明が表示されたら、もう一度アクセス許可をリクエストしてください。
そして最後に、たとえばユーザーが前に私の許可を拒否し、彼はカメラアプリで自分の画面に行く次回は、「あなたが継続する場合は、このpermishionを同意してください」との説明と私のcastomポップアップを作成する必要があります例のユーザーがこの時間に同意したので、私はこの方法を再度呼び戻してください。
//説明が表示され、再度許可を要求してみてください。
が、再び私には、この方法は
shouldShowRequestPermissionRationale();
リターンtrue
、それは許可に同意するユーザの意図を知っていなかったので。
どうすればいいですか?多分あなたは例を持っていますか?
のようにそれを実装http://stackoverflow.com/a/41221852/5488468 –