안녕하세요 푸민입니다.
저번글에 이어서 이번에는 다음 웹과 앱을 연동해볼까요?
1. 다음 앱 호출 및 예외
- 다음 앱을 실행해주는 코드입니다.
PackageManager pm = mContext.getPackageManager();
try {
String strAppPackage = "net.daum.android.daum";
pm.getPackageInfo(strAppPackage, PackageManager.GET_ACTIVITIES);
Intent intent = pm.getLaunchIntentForPackage(strAppPackage);
startActivity(intent);
} catch (Exception e) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("http://m.daum.net/"));
startActivity(intent);
}
네이버와 방식을 똑같습니다. 단지 차이는 앱 실행용 패키지를 다음앱으로 바꾸는것이지요. 그리고 예외 상황에서 실행해주는 웹 주소도 다음으로 바꿔주시면됩니다.
2. 다음 앱에 검색페이지 요청
- 다음 앱을 호출하고 검색결과를 보여주는 페이지를 표시합니다.
PackageManager pm = mContext.getPackageManager();
try {
String strAppPackage = "net.daum.android.daum";
pm.getApplicationIcon(strAppPackage).getClass();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("daumapps://search?keyword="+str));
startActivity(intent);
} catch (Exception e) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("http://m.search.daum.net/search?q="+str));
startActivity(intent);
}
먼저 PackageManager 로 앱이 있는지 없는지 확인 후 있으면 daumapps:// 라는 스키마를 사용하여 키워드를 던져줍니다. 그러면 다음 앱이 해당 요청을 받아서 검색페이지를 화면에 표시합니다. 물론 Exception 이 발생하면 웹으로 대체해서 띄어주는 코드도 있어야겠지요?
'Development > Android' 카테고리의 다른 글
[안드로이드] Android Default 웹,앱 연동 및 검색스키마 사용! (0) | 2015.10.16 |
---|---|
[안드로이드] Android Nate 웹,앱 연동 및 검색스키마 사용! (0) | 2015.10.15 |
[안드로이드] Android Naver 웹,앱 연동 및 검색스키마 사용! (0) | 2015.10.14 |
[안드로이드] Android Fragment 사용 예제 (0) | 2015.10.14 |
[안드로이드] Android Bitmap byte[] 변환 (0) | 2015.10.12 |
댓글