Перейти к содержанию
Fire Monkey от А до Я
  • 0

Какие разрешение нужно включить для TIdTCPClient?


Alexey

Вопрос

Здравствуйте. 

В приложении android делаю проверку наличия интернет соединения:

function CheckInternetConnection(Host: string='google.com'; Port: Integer = 80; Timeout: Integer = 5000): Boolean;
var 
  TCP: TIdTCPClient;
begin
  TCP := TIdTCPClient.Create(nil);
  try
    TCP.Host := Host;
    TCP.Port := Port;
    TCP.ConnectTimeout := Timeout;
    try
      TCP.Connect;
      Result := TCP.Connected;
    except
      Result := False;
    end;
  finally
    TCP.Free;
  end;
end;

В режиме Debug все работает нормально. В режиме Release функция перестает работать на строке:  

TCP.Connect;

В чем проблема?

Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Администраторы
  • Проверьте в последней конфигурации манифест андроид приложения: AndroidManifest.xml
  • Проверьте корректность выставленных разрешений (можно сравнить с манифестом обычного debug приложения.)
Ссылка на комментарий
  • 0

Причина

При  финальной сборке приложения для Application store в файле AndroidManifest.xml отсутствует разрешение для интернета (не смотря на то, что в разделе Uses Permissions разрешение для интернета стоит true), а при сборке Debug в файле AndroidManifest.xml это разрешение присутствует.

 

Решение

Проблема решилась следующим способом:  в разделе Uses Permissions разрешение для интернета ставим false, затем в файл AndroidManifest.template.xml.  вставляем строку:

<uses-permission android:name="android.permission.INTERNET" />

post-32-0-85593000-1395227606.jpg

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...