Android 앱에 대한 URL 구성표를 등록했습니다 (myapp : // host라고합시다).앱이 Android에 설치되어 있는지 여부 프로그래밍 방식으로 감지
다른 앱에서는 인 텐트를 사용하여 해당 앱을 시작할 수 있지만 앱을 시작하지 않고 첫 번째 앱이 설치되어 있는지 확인하려면 어떻게해야합니까? 아이폰 OS에서
, 그것은
[[UIApplication sharedApplication] canOpenUrl:@"myapp://"];
안드로이드에 해당하는이 쉽게
같다? (쉬운 방법)URL 스키마를 사용하여 확인하고 싶습니다. 나는 패키지 이름을 사용하여 확인하는 방법을 알고,하지만 난 사전에 ...뿐만 아니라 PackageInfo에서
PackageManager pm = m_cContext.getPackageManager();
boolean installed = false;
try {
@SuppressWarnings("unused")
PackageInfo pInfo = pm.getPackageInfo(szPackageName, PackageManager.GET_ACTIVITIES);
installed = true;
}
catch (PackageManager.NameNotFoundException e) {
installed = false;
}
감사 (열심히 방식)의 URL 체계를 얻는 방법을 모르겠어요!
참고 :이 iOS 용 같은 질문의 안드로이드 버전입니다 : Detecting programmatically whether an app is installed on iPhone
일반적으로 작동하지만 URL을 처리 할 수있는 여러 가지 활동이있을 수 있으므로 실제로 패키지 이름 ('ResolveInfo.activityInfo.packageName')을 확인하는 것이 좋습니다. 벤더가 애플릿 특허를 (평소와 같이, 의심스럽게) 피하기 위해 노력한 일부 변경 사항으로 인해 더욱 복잡해졌습니다. 자세한 내용은 http://commonsware.com/blog/2012/07/24/linkify-problem-detection-mitigation.html을 참조하십시오. –