あんざいさんの http://y-anz-m.blogspot.jp/2010/03/android-action.html を参考に暗黙的Intentで呼ばれるアプリ一覧を取得し そこからパッケージ名、クラス名を取得してInstagramを起動しています。
Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setData(imageUri); intent.setType("image/jpg"); intent.addCategory(Intent.CATEGORY_DEFAULT); PackageManager pm = getPackageManager(); Listこれなら堂々と使えるかな。resolveInfos = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); String className = null; String packegeName = null; for(ResolveInfo info :resolveInfos){ if("Instagram".equals(info.loadLabel(pm)) || "instagram".equals(info.loadLabel(pm))){ className = info.activityInfo.name; packegeName = info.activityInfo.packageName; break; } } if(className != null && packegeName != null){ intent.setClassName(packegeName, className); intent.setAction(Intent.ACTION_SEND); intent.setType("image/jpg"); intent.putExtra(Intent.EXTRA_STREAM, imageUri); startActivity(intent); }else{ //Instagramがない場合の処理 }
0 件のコメント:
コメントを投稿