在android版本> 6.0的一些android設備中,當我訪問相機時,設備相機被打開,當我捕獲並接受圖片時,相機崩潰(加載相機再次),我有相機訪問權限。可以做些什麼?任何想法?安卓版Android設備相機崩潰問題> 6.0
-4
A
回答
1
你需要問run time permission因爲在在Android 6.0(API級別23)開始,用戶授予權限的應用程序應用程序運行時,而不是當他們安裝應用程序。
ask for run time permission for camera using below code
String permission = android.Manifest.permission.CAMERA;
if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission)
!= PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(SearchCityClass.this, new String[]
{permission}, 1);
}
因爲運行時間許可的now handle permisiion result
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// perform your action here
Toast.makeText(this, "Camera_permission_granted ", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Camera_permission_not_granted ", Toast.LENGTH_SHORT).show();
}
}
}
+0
我有 \t 我有
+0
@Tejas是的,你需要再次詢問運行時權限,因爲**從Android 6.0(API級別23)開始,用戶在應用程序運行時爲應用程序授予權限,而不是在他們安裝應用程序時授予。** –
0
btnCamara.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick (View view){
if (hasPermissionUseCamera()) {
//do smth
}
}
}
public boolean hasPermissionUseCamera() {
if (Build.VERSION.SDK_INT >= 23) {
if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
return true;
} else {
requestPermissions(new String[]{Manifest.permission.CAMERA}, 0);
return false;
}
} else { //permission is automatically granted on sdk<23 upon installation
return true;
}
}
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case 0: {
if (getActivity().checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
//do smth
} else {
Toast.makeText(getActivity(), "Access Denied", Toast.LENGTH_SHORT).show();
}
break;
}
}
}
相關問題
- 1. 安卓隨機崩潰併發問題
- 2. 安卓相機意圖問題與一些設備
- 3. Android相機問題(特定於設備)
- 4. CSS3安卓手機版問題
- 5. Android默認相機崩潰
- 6. 如何識別安卓手機設備在xamarin安卓android#c#
- 7. huawaei設備上的應用程序崩潰(Android 6.0 api 23)
- 8. 安卓相機應用預覽問題
- 9. 崩潰android ViewPager +相機
- 10. 離子相機崩潰android
- 11. 安卓設備顯示器似乎錯過了崩潰
- 12. 安卓相機ISO設置
- 13. 安卓版面問題
- 14. 安卓版微調問題
- 15. 安卓/ java線程崩潰
- 16. 安卓:從崩潰線程
- 17. Iphone隨機崩潰問題
- 18. 安卓相機問題(垂直相機|人像)
- 19. 安卓apk版與jenkins崩潰在設備上。一切工作正常在Android工作室
- 20. 安卓相機setPreviewSize
- 21. 安卓相機zoom
- 22. 安卓相機frezes
- 23. 安卓相機:在所有設備上獲得直接照片
- 24. 安卓相機正在美化一些設備
- 25. 可靠的跨設備安卓相機實現?
- 26. 安卓相機意圖不能在某些設備上工作
- 27. 與PhoneGap的旋轉Android設備崩潰
- 28. 在64位設備Android BarcodeScanner庫崩潰
- 29. 相機崩潰在Android果凍豆
- 30. Android 2.2中的相機崩潰
它。 – Piyush
添加android:hardwareAccelerated =「true」和 android:largeHeap =「true」來顯示你的應用程序的文件,在應用程序塊內,它可能會幫助你, –
嗨,你從未提及過你的Unity版本。只需將Unity更新爲支持新權限類型的最新版本即可。 – Programmer