используя этот ответ SO , вы можете выполнить другое поведение:
Вместо того, чтобы пытаться запустить действие и перехватывать исключение ANF (что может быть проблематично, так как есть потокикоторое не сгенерирует это исключение), вы можете заранее проверить, будет ли обработано намерение.
используйте этот код Java: (при условии this
наследовать от Activity
)
Activity activity = this; // change this line if calling from other places (a fragment etc)
Uri uri = Uri.parse(pdfUrl);
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "text/csv");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
if (intent.resolveActivity(activity.getPackageManager()) == null) {
// No Activity found that can handle this intent.
Toast.makeText(activity, "There is no CSV viewer installed", Toast.LENGTH_SHORT).show();
}
else{
// There is an activity which can handle this intent.
activity.startActivity(intent);
}