Привет.
Есть код, который прекрасно работает в активити, но если вызывать его из сервиса, вылетает ошибка - Activity not found, maybe you are in a service , - т.к. нельзя использовать SharedActivityContext в сервисе.
На StackOverflow есть несколько подобных вопросов, но все они для Явы.
function GetConnectivityManager: JConnectivityManager;
var
ConnectivityServiceNative: JObject;
begin
ConnectivityServiceNative := SharedActivityContext.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE);
if not Assigned(ConnectivityServiceNative) then
raise Exception.Create('Could not locate Connectivity Service');
Result := TJConnectivityManager.Wrap(
(ConnectivityServiceNative as ILocalObject).GetObjectID);
if not Assigned(Result) then
raise Exception.Create('Could not access Connectivity Manager');
end;
Наверняка кто-то уже сталкивался с этой проблемой, подскажите как ее решить.
Спасибо.
P.s. В сервисе нужно периодически поверять наличие интернета при помощи NetworkInfo.