【问题标题】:application not working on Android 4.1应用程序无法在 Android 4.1 上运行
【发布时间】:2012-11-01 09:51:37
【问题描述】:

大家好,我有可以在其他平台上运行的示例应用程序(从 1.6+ 开始),但是相同的应用程序在我的新 Android 4.1 模拟器上无法运行。问题是关于 HttpConnection 的。意味着假设我想登录然后我不能这样做。代码没有问题,因为它在所有其他 AVD(1.6,2.1,2.2) 上都可以正常工作。

我也尝试了简单的 httpconnection 代码,但仍然无法正常工作。

在 4.1 的模拟器上运行互联网需要任何特殊设置。但是在我之前的平台上我没有做任何设置。

我的 HttpConnection 代码如下:

public String httpGetResponse(String url) {
    connectionUrl = url;
    query_string="";
    String response = null;
    try {
        int loc = url.indexOf('?');
        if(loc>-1){
            try {
                query_string=url.substring(loc);
            } catch (Exception e) {
                query_string="";
            }
        }
        processGetRequest();
        HttpResponse httpresponse = httpclient.execute(host, get);
        response = EntityUtils.toString(httpresponse.getEntity());
    } catch (Exception e) {
        response = null;
    }
    return response;
}

我将此方法称为:

response = connectionUtil.httpGetResponse("My URL");

在所有其他平台上,我得到的响应为 String ,但在 4.1 中,我得到的响应为:

response:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org          /TR/html4/loose.dtd"><HTML><HEAD><META HTTP-EQUIV="Content-Type"    CONTENT="text/html; charset=iso-    8859-1"><TITLE>ERROR: The requested URL could not be retrieved</TITLE>

..........

任何建议将不胜感激提前谢谢。

【问题讨论】:

标签: android android-layout android-emulator


【解决方案1】:

这个问题有两种解决方案。

1) 不要在主 UI 线程中编写网络调用,为此使用异步任务。

2) 在 setContentView(R.layout.activity_main); 之后将以下代码写入 MainActivity 文件中;

if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
}

下面的 import 语句到你的 java 文件中。

import android.os.StrictMode;

【讨论】:

  • @Keshariya:为什么 HTML 编码在 android 4.1 及更高版本中不起作用。 ä ü ö €
  • @DipakKeshariya:我没有收到任何错误,只是那种类型的字符无法正常显示,它看起来像方形或不同的字符。
  • @HiteshDhamshaniya 然后是字体语言的问题,请将您的问题发布在堆栈溢出上并给我链接。
  • @HiteshDhamshaniya 你是天才,机器人大师和我的老板,我想告诉你我的回答是否对你有帮助,然后支持我的回答。
  • @DipakKeshariya:如果你的分数很低,但我显示你的分数很高,我坚决这样做。所以:-(
猜你喜欢
  • 2015-01-01
  • 2019-08-03
  • 2020-03-16
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
相关资源
最近更新 更多