暗黙的インテントの呼び出しで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