![]() |
XE5 + iOS: Mobilfunk-Providerinformationen auslesen???
Hallo!
In Xcode benutze ich folgende Code, um Informationen über den aktuellen Mobilfunkprovider abzufragen:
Code:
Wenn ich nun versuche, die Code in Delphi zu implementieren, bleibt provider ohne Wert. Hier meine Code:
#import <CoreTelephony/CTTelephonynetworkInfo.h>
#import <CoreTelephony/CTCarrier.h> ... ... CTCarrier *provider [[[CTTelephonyNetworkInfo alloc] init] subscriberCellularProvider]; if(provider != nil) { NSString *providerName = [NSString stringWithString:[provider carrierName]]; NSString *providerIsoCountryCode = [NSString stringWithString:[provider isoCountryCode]]; //etc. }
Delphi-Quellcode:
Was mache ich falsch?
uses
..., iOSApi.Foundation, iOSApi.UIKit, iOSApi.CocoaTypes, iOSApi.CoreTelephony; ... procedure TiOSTelephony.UpdateProviderInfo; var networkInfo: CTTelephonyNetworkInfo; provider: CTCarrier; begin try networkInfo := TCTTelephonyNetworkInfo.Wrap(TCTTelephonyNetworkInfo.OCClass.alloc); provider := networkInfo.subscriberCellularProvider; if Assigned(provider) then begin FProviderName := NSStringToString(provider.carrierName); FProviderISOCountryCode := NSStringToString(provider.isoCountryCode); FProviderMobileCountryCode := NSStringToString(provider.mobileCountryCode); FProviderMobileNetworkCode := NSStringToString(provider.mobileNetworkCode); FProviderAllowsVOIP := provider.allowsVOIP; end; except end; |
AW: XE5 + iOS: Mobilfunk-Providerinformationen auslesen???
So wie ich das sehe fehlt dir noch das "Init"
|
AW: XE5 + iOS: Mobilfunk-Providerinformationen auslesen???
Moin,
ich würde das gar nicht alles selbst machen:
Delphi-Quellcode:
procedure Tfrm_DeviceInfo.DoShowTelephonyInfo;
var service : IFMXPhoneDialerService; begin lb_DeviceInfo.BeginUpdate; if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, IInterface(service)) then begin CreateLH(lb_DeviceInfo, 'Telefonie-Dienst' ); CreateLI(lb_DeviceInfo, service.GetCarrier.GetCarrierName, 'Dienstanbieter' ); CreateLI(lb_DeviceInfo, service.GetCarrier.GetIsoCountryCode, 'ISO Country-Code' ); CreateLI(lb_DeviceInfo, service.GetCarrier.GetMobileCountryCode, 'Mobile Country Code (MCC)' ); CreateLI(lb_DeviceInfo, service.GetCarrier.GetMobileNetwork, 'Mobile Network Code (MNC)' ); end; lb_DeviceInfo.EndUpdate; end; |
AW: XE5 + iOS: Mobilfunk-Providerinformationen auslesen???
Vielen Dank Euch beiden!
Für meine Code fehlte mir tatsächlich ein Init. Und dass es so ein IFMXPhoneDialerService gibt, wusste ich gar nicht. Danke!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz