2017-03-16 5 views
0

나는 genymotion을 사용하여 앱을 개발합니다. 가상 장치가 Google Nexus 5X - 6.0.0 1080x1920이지만 가상 장치에서 갤러리를 직접 열려면 클릭하면 장치에 오류가 발생합니다. 갤러리가 중지되었습니다.Genymotion 갤러리가 중지되었습니다.

enter image description here

이 오류를 해결할 수 없습니다. 내가 deverloped 내 애플 리케이션은 갤러리에 대한 액세스 권한이 필요하고 지금은 그것을 디버깅 할 수 없습니다.

+0

어떤 오류 로그는 점점? – Piyush

+0

@Piyush Genymotion의 로그를 어떻게 볼 수 있습니까? – Sonrobby

+0

또한 logcat을 게시하시기 바랍니다 –

답변

0

당신이 당신의 응용 프로그램을 실행하는 것처럼 안드로이드 6.0 (산들 바람) 당신이 그렇지 않으면 응용 프로그램이 충돌합니다 갤러리를 읽거나 쓸 수 권한 체크를해야한다.

권한 체크해야는 다음과 같습니다

public class YourActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback{ 

private static final int REQUEST_WRITE_PERMISSION = 123; 

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
if (requestCode == REQUEST_WRITE_PERMISSION && grantResults[0] == PackageManager.PERMISSION_GRANTED) {    
    openGallery(); 
} 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
requestPermission(); 
} 

private void requestPermission() { 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 
    requestPermissions(new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_PERMISSION); 
} else { 
    openGallery(); 
    } 
} 
} 

그리고 Manifest.xml에 권한을 추가하는 것을 잊지 마세요 :

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />