protected override void OnResume() { base.OnResume(); // ARCore requires camera permissions to operate. If we did not yet obtain runtime // permission on Android M and above, now is a good time to ask the user for it. if (ContextCompat.CheckSelfPermission(this, Android.Manifest.Permission.Camera) == Android.Content.PM.Permission.Granted) { if (mSession != null) { showLoadingMessage(); // Note that order matters - see the note in onPause(), the reverse applies here. mSession.Resume(); } // the app may crash here because of a race condition if you've not YET accepted camera // permissions. just accept the permissions, and then when the app crashes, restart it, // and it should be fine. mSurfaceView.OnResume(); mDisplayRotationHelper.OnResume(); } else { ActivityCompat.RequestPermissions(this, new string[] { Android.Manifest.Permission.Camera }, 0); } }
protected override void OnResume() { base.OnResume(); // ARCore requires camera permissions to operate. If we did not yet obtain runtime // permission on Android M and above, now is a good time to ask the user for it. if (ContextCompat.CheckSelfPermission(this, Android.Manifest.Permission.Camera) == Android.Content.PM.Permission.Granted) { if (mSession != null) { showLoadingMessage(); // Note that order matters - see the note in onPause(), the reverse applies here. mSession.Resume(); } mSurfaceView.OnResume(); mDisplayRotationHelper.OnResume(); } else { ActivityCompat.RequestPermissions(this, new string[] { Android.Manifest.Permission.Camera }, 0); } }