1

追加のためにアプリ内でブラウザーを開こうとすると、アプリがクラッシュすることがあります。これが私のコードです。

public void onBannerClick(final View view){  
Intent intent = new Intent(Intent.ACTION_VIEW);  
intent.setData(Uri.parse(mBannerURL));  
startActivity(intent);  

そして、これは私が得るスタックトレースです:

java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:2179)
at android.view.View.performClick(View.java:2535)
at android.view.View$PerformClick.run(View.java:9130)
at android.os.Handler.handleCallback(Handler.java:618)
at android.os.Handler.dispatchMessage(Handler.java:123)
at android.os.Looper.loop(SourceFile:351)
at android.app.ActivityThread.main(ActivityThread.java:3850)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:538)
at android.view.View$1.onClick(View.java:2174)
... 11 more
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://xxxxxxxxx.xx }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1449)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1419)
at android.app.Activity.startActivityForResult(Activity.java:2878)
at android.app.Activity.startActivity(Activity.java:2984)
at com.XXXXXXXXX.XXXXXXXXXXXXX.MainActivity.onBannerClick(MainActivity.java:830)
... 14 more

助けてください。

4

3 に答える 3

1

スキームのスペルが正しいことを確認してください。「http:」の代わりに「HTTP:」を使用するだけで、まさにこの問題が発生することがわかりました。このページの下部にある注意:

http://developer.android.com/guide/topics/manifest/data-element.html

... Android でのスキーム マッチングでは、大文字と小文字が区別されます。

于 2013-10-13T22:39:24.030 に答える
0

おそらく、ある種の HTTP エラー (無効な URL や404応答など) が発生しているか、デバイスにアプリがない MIME タイプで HTTP 応答が提供されている可能性があります。

于 2012-07-07T19:23:56.997 に答える