Android HttpGet не работает на Android 4.0?

1

Я использую код, который извлекает и показывает Changelog, если его первый запуск, простой в этом :).

Это хорошо работает на Android 2.3 и ниже, но при попытке настроить пользовательский ICS-ROM и на эмулятор он не работает...

if(lastVersion < currentVersion) {

           InputStream content = null;
           try {
               HttpGet httpGet = new HttpGet("http://dreamhawk.blinkenshell.org/changelog.txt");
               httpGet.setHeader("Content-Type", "text/plain; charset=utf-8");
               HttpClient httpclient = new DefaultHttpClient();
               // Execute HTTP Get Request
               HttpResponse response = httpclient.execute(httpGet);
               content = response.getEntity().getContent();


           } catch (Exception e) {
               //handle the exception !
           }
           if(content == null) {
               lastVersion = Prefs.getInt("firstRun", -1);
               Toast.makeText(Main.this,
                         "Failed fetching changelog on first run, connected to Internet?",
                            Toast.LENGTH_SHORT).show();

           } else {
           BufferedReader r = new BufferedReader(new InputStreamReader(content));
           StringBuilder total = new StringBuilder();
           String line;
           String NL = System.getProperty("line.separator");
           try {
               while ((line = r.readLine()) != null) {
                   total.append(line + NL);
               }
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }

           String page = total.toString();

           Dialog dialog = new Dialog(Main.this);

           dialog.setContentView(R.layout.custom_dialog);
           dialog.setTitle(R.string.changelog);
           dialog.setCanceledOnTouchOutside(true);

           TextView text = (TextView) dialog.findViewById(R.id.text);
           text.setTextSize(13);
           text.setText(page);
           dialog.show();
           }
       }     

По-видимому, контент является нулевым, и я не знаю, почему.. Потому что он работает над другими версиями Android, я не знаю, что может быть неправильным... Но, будучи нубом, который я есть, я, вероятно, использую некоторые плохие коды...

Позаботьтесь о помощи? :)

  • 0
    Ваш эмулятор должен установить прокси для доступа в Интернет?
  • 0
    Нет, это не
Теги:
http-get

2 ответа

0

Считается, может ли проблема быть связана с этим? Вы не можете выполнять сетевые операции в основном потоке из сотовых (3.0) и forward.

0

Попробуйте проверить входной поток для доступности данных, а не != null. См. Ответ: qaru.site/questions/131521/...

  • 0
    Независимо от того, сколько я пытаюсь, я все еще не могу получить входной поток: /

Ещё вопросы

Сообщество Overcoder
Наверх
Меню