使用action_view意图后Android应用程序崩溃

Alp*_*ode 2 java eclipse android

我有一个奇怪的错误,这是我的代码

String a;
String b;
a="http://website1.com/abcabc1";
String[] separated = a.split("/");
b = separated[3];

String url = "www.website2.com/" + b;
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
finish();
Run Code Online (Sandbox Code Playgroud)

我想做的就是在字符串“ abcabc1”中获取“ .com /”之后的值,然后打开一个新网址,即“ www.website2.com/abcabc1”,但我遇到的问题是应用程序崩溃在启动时,我试图发现问题的根源,发现的是,如果我的代码是:

String url = "www.website2.com/";
Run Code Online (Sandbox Code Playgroud)

它可以正常工作,但是如果是这样的话:

String url = "www.website2.com/" + b;
Run Code Online (Sandbox Code Playgroud)

应用程序将崩溃。

注意如果我尝试将字符串url设置为textview文本,则会以正确的形式显示它,但是如果我将其传递给浏览器,则会崩溃。对不起,我的语言不好,谢谢。

更新:目录:

04-01 14:09:08.670: D/AndroidRuntime(2126): Shutting down VM
04-01 14:09:08.670: W/dalvikvm(2126): threadid=1: thread exiting with uncaught exception (group=0xb3ad7ba8)
04-01 14:09:08.680: E/AndroidRuntime(2126): FATAL EXCEPTION: main
04-01 14:09:08.680: E/AndroidRuntime(2126): Process: com.example.ytdownload, PID: 2126
04-01 14:09:08.680: E/AndroidRuntime(2126): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ytdownload/com.example.ytdownload.MainActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.youtube-mp3.org/?e=session_expired&tx }
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.os.Handler.dispatchMessage(Handler.java:102)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.os.Looper.loop(Looper.java:136)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread.main(ActivityThread.java:5017)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at java.lang.reflect.Method.invokeNative(Native Method)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at java.lang.reflect.Method.invoke(Method.java:515)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at dalvik.system.NativeStart.main(Native Method)
04-01 14:09:08.680: E/AndroidRuntime(2126): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=www.youtube-mp3.org/?e=session_expired&tx }
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Activity.startActivityForResult(Activity.java:3424)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Activity.startActivityForResult(Activity.java:3385)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Activity.startActivity(Activity.java:3627)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Activity.startActivity(Activity.java:3595)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at com.example.ytdownload.MainActivity.onCreate(MainActivity.java:36)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Activity.performCreate(Activity.java:5231)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-01 14:09:08.680: E/AndroidRuntime(2126):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-01 14:09:08.680: E/AndroidRuntime(2126):     ... 11 more
Run Code Online (Sandbox Code Playgroud)

Sad*_*egh 5

您必须"http://"在URL之前进行设置,它将起作用!

String url = "http://www.website2.com/" + b;

  • 现在可以使用了!我不敢相信我忘记了这部分!非常感谢你 (2认同)