私は同じ問題に直面しました。新しいバージョンでは、ユーザーが明示的にカメラのアクセス許可を与える必要があるため、例にコンパイル済みの SdK バージョン 22 が付属していることがわかります。私のプロジェクトは、Android アプリケーションにコードを追加することで API 25 を使用しています。私の場合、ユーザーが FloatingActionButton をクリックしたときに vuforia アクティビティを開く前に、カメラの許可を求めました。
FloatingActionButton flb=(FloatingActionButton)findViewById(R.id.floatingActionButton2);
flb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this, new String[] { Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 0);
}
else
{
Intent myIntent = new Intent(MainActivity.this, VideoPlayback.class);
startActivity(myIntent);
}
}
});
VideoPlayback は、事前のサンプルに含まれている vforia の AR を使用するアクティビティです。この場合、ユーザーの回答を確認する必要があるため、onRequestPermissionsResult をリッスンする必要があります。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
// Begin monitoring for Aruba Beacon-based Campaign events
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 0) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
&& grantResults[1] == PackageManager.PERMISSION_GRANTED) {
Intent myIntent = new Intent(MainActivity.this, VideoPlayback.class);
startActivity(myIntent);
}
}
}
onRequestPermissionsResult で、回答が肯定的かどうかを確認し、そうであればアクティビティを開きます。
それがあなたにとってもうまくいくことを願っています。