#android #asp.net-mvc #webview #datatable #activitynotfoundexception
#Android #asp.net-mvc #webview #datatable #activitynotfoundexception
Вопрос:
ПРИВЕТ, у меня есть веб-сайт в Asp.net где я использую таблицы данных с кнопками экспорта, такими как CSV Excel Pdf
Я создал приложение WebView для Android для сайта. Но когда я нажимаю на любую кнопку экспорта, приложение вылетает.
Вот мой код для загрузки
myWebview.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
Intent i=new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});
и вот отчет о сбое приложения
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=blob:http://192.168.43.1/bb78f8da-62b4-4d4e-83a6-683f3a167f25 }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1816)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1525)
at android.app.Activity.startActivityForResult(Activity.java:4396)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:767)
at android.app.Activity.startActivityForResult(Activity.java:4355)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
at android.app.Activity.startActivity(Activity.java:4679)
at android.app.Activity.startActivity(Activity.java:4647)
at in.gov.Example.MainActivity$1.onDownloadStart(MainActivity.java:78)
at com.android.webview.chromium.Ap.onDownloadStart(WebViewContentsClientAdapter.java:485)
at org.chromium.android_webview.AwContentsClientCallbackHelper$MyHandler.handleMessage(AwContentsClientCallbackHelper.java:25)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:883)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
Пожалуйста, помогите мне исправить эту проблему. Я буду очень благодарен.
Ответ №1:
У вас нет ни одного приложения, в котором был бы объявлен фильтр намерений для типа данных, которые вы хотите просмотреть. Вам нужно обработать исключение с помощью try catch при вызове start activity для этого намерения, если какое-либо действие не найдено, и вы можете выполнить поиск в playstore для приложения, которое может di, которое работает для вас. Более того, вызываемый вами URL-адрес не определяет, используются ли его html, pdf или csv: Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://site")); startActivity(browserIntent);
внутри блока try catch
Комментарии:
1. Проверьте dat=blob: 192.168.43.1/bb78f8da-62b4-4d4e-83a6-683f3a167f25 . Я получаю эту ошибку из-за URL-адреса blob -объекта. При нажатии на любую кнопку экспорта данных, такую как pdf или Excel, генерируется URL-адрес blob. И я не в состоянии с этим справиться.
2. Я уже использую try catch, но я не могу загрузить с кнопок экспорта ТАБЛИЦ ДАННЫХ , таких как csv pdf Excel