バックグラウンド
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アプリがアクティブかどうかを確認してから、このインテントの使用を許可する必要がありますか? もしそうなら、どのように?