2014-10-02 59 views
0

我尝试在Web浏览器中打开URL,但是当我这样做,链接到谷歌为什么我的网址去谷歌

这是我的代码:

String jokeUrl = "http://example.com/send.php?p1=" + deviceId + "&p2=" + strName + "&p3=" + Integer.toString(rate) + "&p4="; 
String url = strComment; 
url = url.replaceAll("\\n", "%0A"); 
url = url.replaceAll(" ", "%20"); 
jokeUrl = jokeUrl + strComment; 
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(jokeUrl)); 
startActivity(browserIntent); 

例如,当我写长文本,它会去谷歌,但当我发送短文本通常是。

我的strComment的TextView:

<EditText 
     android:id="@+id/etComment" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_margin="4dp" 
     android:layout_weight="1" 
     android:ems="10" 
     android:maxLength="300" 
     android:inputType="textMultiLine" 
     android:maxLines="5" /> 

回答

0

它指出,URL字符串限制是2000个字符。检查jokeUrl大小。

Log.i("Joke Url Size", jokeUrl.length() + " is the size");

对于URL检查this

+0

这似乎更像是一个评论,而不是一个答案。 – 2014-10-02 12:18:40

+0

@DaveNewton查看我的更新 – programmer 2014-10-02 12:19:20

+0

@ user3722311所以评论不能超过300个字符? URL字符串中是否还有其他特殊字符? – 2014-10-02 12:21:22

0

考虑使用URLEncoder.encode()编码所有字符串参数,如strCommentstrName

要将数据发送到后端,请考虑使用HTTP POST,而不是HTTP 012,如ACTION_VIEW所示。要发送POST请求,请使用HTTP堆栈,而不是像这样的Intent