Facebook アプリの代わりにブラウザーで共有ページを開くことができるかどうかを知りたいです。Facebook アプリが存在する場合は、Facebook アプリを開いて何かを共有します。それ以外の場合は、ブラウザを開いて共有します。ガイダンスとして、次のスタック オーバーフローの質問を使用しています: Share Text on Facebook from Android App via ACTION_SEND。
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,
"http://www.some-link-to-open.com");
PackageManager pm = getPackageManager();
List<ResolveInfo> activityList = pm.queryIntentActivities(sharingIntent, 0);
for (final ResolveInfo app : activityList) {
if ((app.activityInfo.name).contains("facebook")) {
/**
* Open Facebook app
*/
final ActivityInfo activity = app.activityInfo;
final ComponentName name = new ComponentName(
activity.applicationInfo.packageName, activity.name);
sharingIntent.addCategory(Intent.CATEGORY_LAUNCHER);
sharingIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
sharingIntent.setComponent(name);
startActivity(sharingIntent);
break;
} else if ((app.activityInfo.name).contains("internet")) {
/**
* Open Facebook in the browser.
*/
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://m.facebook.com/sharer.php?u="
+ "http://www.some-link-to-open.com"));
startActivity(i);
}
Facebook アプリを決定するために、以下を使用します。
(app.activityInfo.name).contains("facebook")
したがって、上記のコードで知りたいのは
else if ((app.activityInfo.name).contains("internet"))
ブラウザを決定するために入力する必要がある適切なコードは何ですか?