运行程序后,应用程序因初始化失败而崩溃 Vuforia有权限例外
Android版本为<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
仅使用前置摄像头在设备4.1.1(api level 16)上进行测试。
清单文件中包含的权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-feature android:glEsVersion="0x00020000" />
SampleApplicationSession
InitVuforiaTask
任务的异常,返回Vuforia.init()
的值为-1。
不确定我错过了什么。
包含的图书馆是armaebi-v7a / libVuforia.so,android-support-v4,jpct_ae,Vuforia
答案 0 :(得分:1)
我遇到了同样的问题。如果您看到示例附带了compiledSdKversion 22,因为在较新的版本中,用户必须明确授予Camera权限。我的项目是通过向我的Android应用程序添加一些代码来使用API 25。在我的情况下,当用户引用FloatingActionButton时,我在打开vuforia活动之前询问了Camera Permission:
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是使用先前示例中包含的vuforia的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中,我们检查答案是否为正,如果是,我们打开活动。
我希望它也适合你。