備忘録 〜プログラミング〜

プログラミングに関する事をつらつらと、、

AndroidでパラメータつきURLをstartActivityしたときにパラメータが消えてしまう

APIから取得したURLをWEBで表示させる簡単な作業でハマったのでメモしておきます。
APIから取得したURLは、

http://www.hogehoge/?hoge=hoge&hogehoge=hoge

このような感じだったのですが、以下のようにstartActivityをすると?以降のパラメータが消えてしまうという現象が起きました。

Intent urlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(“http://www.hogehoge/?hoge=hoge&hogehoge=hoge
"));
startActivity(urlIntent);

どうやら、これではweb画面に遷移したとき、http://www.hogehoge/このURLになってしまうみたいで、以下のようにsetDataをしてあげないといけないみたいです。

Intent urlIntent = new Intent(Intent.ACTION_VIEW);
urlIntent.setData(Uri.parse(“http://www.hogehoge/?hoge=hoge&hogehoge=hoge”));
startActivity(urlIntent);

最初はsplitしてappendQueryParameterなどしなければいけないのかなと思ったんですけど、すんなりいけました。