1

バックグラウンド

Facebookアプリで特定のプロフィールページを開こうとしています(もちろんFacebookアプリがインストールされている場合)。

問題

エンド ユーザーとして、Facebook アプリのアプリ情報画面 (アプリのアンインストール、キャッシュのクリアなど) に移動し、[強制停止] を選択してから開こうとすることに気付きました。プロフィール ページ、Facebook アプリ自体がクラッシュするか、起動すらしません。

Facebook アプリが既に実行されている場合、コードは正常に動作します。

コード

context.getPackageManager().getPackageInfo("com.facebook.katana", 0);
final String facebookScheme = String.format("fb://profile/%s", socialNetworkUid);
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(facebookScheme));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY
        | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
return intent;

ところで、このリンクからスキームが見つかりました。

質問

  • なぜ発生するのですか?
  • どうにか回避できないか?
  • Facebookアプリのバグですか、それとも正しく実装していないのでしょうか?
  • FBアプリがアクティブかどうかを確認してから、このインテントの使用を許可する必要がありますか? もしそうなら、どのように?
4

1 に答える 1