Поиск сообщества
Показаны результаты для тегов 'tnetworkstate.create'.
Найдено: 1 результат
-
Здравствуйте Уважаемые. Подскажите пожалуйста как устранить ошибку (скрин в приложении) на строке TNetworkState.Create в приложении для OS Android в Delphi 10.3. на телефоне 10-й Андроид. Процедура такая: //Поделиться сохранённым файлом procedure TForm_DB_BOKA_Glavn.ButtonПоделитьсяClick(Sender: TObject); var NS: TNetworkState; begin NS := TNetworkState.Create; if not NS.IsConnected then begin ShowMessage('Нет подключения к интернету.'); Abort; end else begin if NS.IsWifiConnected then ShowMessage('Подключено через WiFi'); if NS.IsMobileConnected then ShowMessage('Подключено через WWAN'); if FileExists(TPath.GetDownloadsPath+'/Модель_'+ComboBoxВсеМодели.Selected.Text+'.txt') then begin ShareFile(TPath.GetDownloadsPath+'/Model_'+ComboBoxВсеМодели.Selected.Text+'.txt', 'Это файл карточки модели '++ComboBoxВсеМодели.Selected.Text); Application.ProcessMessages; end else ShowMessage('Файл '+TPath.GetDownloadsPath+'/Model_'+ComboBoxВсеМодели.Selected.Text+'.txt'+' не найден.'); end; end; Процедура ShareFile такая: procedure ShareFile(aFileName, aComment : String); {$IFDEF ANDROID} var Intent : JIntent; uri : Jnet_Uri; AttachmentFile: JFile; S : String; {$ENDIF ANDROID} begin {$IFDEF ANDROID} Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_SEND); Intent.setFlags(TJIntent.JavaClass.FLAG_ACTIVITY_NEW_TASK); S:=TPath.GetFileName(aFileName); Intent.putExtra(TJIntent.JavaClass.EXTRA_SUBJECT, StringToJString(aComment)); Intent.putExtra(TJIntent.JavaClass.EXTRA_TEXT, StringToJString(aComment)); AttachmentFile := TJFile.JavaClass.init(StringToJString(aFileName)); Uri := TJnet_Uri.JavaClass.fromFile(AttachmentFile); Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM, TJParcelable.Wrap((Uri as ILocalObject).GetObjectID)); Intent.setType(StringToJString('text/plain')); // Intent.setDataAndType(StrToJURI('file:' + TPath.Combine(TPath.GetSharedDownloadsPath, 'picture.png')), StringToJString ('image/png')); SharedActivity.startActivity(Intent); {$ENDIF ANDROID} end; При этом разрешение к памяти у телефона есть на это приложение. Интересно что в другом моём приложении где те же процедуры всё работает. Но перед тем как это 2-е приложение я запустил после обновления 9-го Андроида на 10-й система спросила сама разрешения а в этом нет. Я вручную разрешал. Может тут дело не в разрешениях???