暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法
暗黙インテントを呼び出す時に、対応するActivityが存在しないと
「android.content.ActivityNotFoundException」が発生してしまう…。
なので、呼び出す前に以下のメソッドでActivityが存在するかチェックする
public static boolean checkImplicitIntent(Context context, Intent intent) { boolean ret = false; PackageManager pm = context.getPackageManager(); Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); List<ResolveInfo> apps = pm.queryIntentActivities(intent, 0); if (apps.size() > 0) { ret = true; } return ret; }
呼び出して、「false」が戻ってきたらエラーとして処理する
関連する記事:
- AndroidManifest.xmlに記述した
のデータ取得方法 - Androidでインストール済みのアプリ一覧の取得方法
- AndroidでActivityのスタックを削除する方法
- Androidのサービスでintentを使うとNullPointerExceptionで落ちるのを回避
- AndroidのPendingIntentで気を付けるべき事
コメント 0