편집 : 아래 구현은 적어도 일부 HTC 장치에서 문제가있는 것으로 판명되었습니다 (충돌). 그런 이유로 나는 setclassname을 사용하지 않고 액션 선택기 메뉴를 고수합니다. 이전 구현을 사용하지 않는 것이 좋습니다.
다음은 이전 구현입니다.
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(youtubelink));
if(Utility.isAppInstalled("com.google.android.youtube", getActivity())) {
intent.setClassName("com.google.android.youtube", "com.google.android.youtube.WatchActivity");
}
startActivity(intent);
Utility는 다음과 같은 방법으로 내 개인 유틸리티 클래스입니다.
public static boolean isAppInstalled(String uri, Context context) {
PackageManager pm = context.getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
installed = false;
}
return installed;
}
먼저 youtube가 설치되어 있는지 확인하고 설치되어 있으면 Android에 어떤 패키지를 사용하여 내 의도를 열고 싶습니다.