嗨,我在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)
请帮助我解决此问题。我将最感激。
答案 0 :(得分:0)
您没有任何应用程序声明过要查看的数据类型的意图过滤器。如果未找到任何活动,则需要在尝试针对该意图的启动活动时尝试捕获异常,并且您可以在playstore上搜索可以为您工作的应用程序。此外,您要呼叫的网址并未定义其html,pdf或csv
采用:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://site")); startActivity(browserIntent);
在内部尝试捕获块