1 min to read
안드로이드 카메라앱 선택 강제하기
앱에서 카메라기능을 호출할 경우 위와 같은 화면이 뜨면서 사용할 앱을 선택하게 된다.
이 때 선택 창을 띄우지 않고 강제로 사용앱을 지정하려면 다음과 같이 하면 된다.
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.setPackage("패키지명");
기본 카메라앱의 패키지 이름은 제조사마다 다르고, 다음과 같다.
제조사 | 패키지명 |
---|---|
LG | com.lge.camera |
SAMSUNG | com.sec.android.app.camera |
이 때 설치되어 있지 않은 패키지명으로 setPackage를 할 경우 기능 자체가 작동하지 않을 수 있다.
이를 해결하기 위해 다음과 같이 해당 패키지가 설치되어있는지 확인해볼 수 있다.
public String getPackageName() {
PackageManager pm = getActivity().getPackageManager();
LIST<ApplicationInfo> packages = pm.getInstalledApplications(0);
for (ApplicationInfo packageInfo : packages) {
String packageName = packageInfo.getPackageName;
if ("패키지명".equals(packageName)) {
return packageName
}
}
return "";
}
제조사 마다 다른 패키지명을 일일이 찾아서 등록해주어야 하기 때문에 좋은 방법은 아닌 것 같다.
리스트 중에 첫 번째로 나오는게 가장 먼저 깔린 기본앱이 아닐까 생각도 해보았는데 꼭 그런 것은 아닌 것 같다.
Comments