Kayıt biligileri alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Kayıt biligileri alma
İyi akşamalar,
XE5 ile kendi chat programını başladım ancak kullanıcı bilgilerini nasıl alabileceğimi bir türlü çözemedim.
Örnek bir web siteye üye olurken üye olan kişinin ip adresini ve mail adresine databaseye kaydediyoruz, bunu telefon üzerinden nasıl yapa bilirim yeni kayıt olanın kişinin cep telefonun numarasını alıp databaseye nasıl kaydedebilirim.
XE5 ile kendi chat programını başladım ancak kullanıcı bilgilerini nasıl alabileceğimi bir türlü çözemedim.
Örnek bir web siteye üye olurken üye olan kişinin ip adresini ve mail adresine databaseye kaydediyoruz, bunu telefon üzerinden nasıl yapa bilirim yeni kayıt olanın kişinin cep telefonun numarasını alıp databaseye nasıl kaydedebilirim.
Re: Kayıt biligileri alma
Android bilmediğim bir dünya, kullanıcı olarak ta aynı şekilde..
Bende merak ettim. Yüklenen bir uygulama ile telefon numarası alınabiliyor mu?
Güvenlik bu kadar yerlerde mi?
Edit : Yüklenen uygulama denince.. önüne gelen uygulama, her yüklenen anlamında
Bende merak ettim. Yüklenen bir uygulama ile telefon numarası alınabiliyor mu?
Güvenlik bu kadar yerlerde mi?
Edit : Yüklenen uygulama denince.. önüne gelen uygulama, her yüklenen anlamında
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Mustafa Kemal Atatürk...
Re: Kayıt biligileri alma
Merhaba.
- Android uygulamalarında telefona yüklenirken, kullanıcıdan bazı izinler istenir.
- Kullanıcı eğer kabul ederse program sisteme kurulur. Güvenlik açığı aslında teorik olarak bu nedenle yoktur ama kullanıcılar bu izin taleplerini okumadan direkt KUR butonuna basar. Bu da pratik olarak güvenlik açığı demektir.
- Delphi XE5 Project / Options sayfasında Permissions kısmında hangi izinlerin isteneceği yer alır. Bu sayfayı çok iyi inceleyin, notlarınızı alın. Sonuç olarak kişinin telefon numarasına erişilebileceğini sanmıyorum (çünkü normal hayatta da kendi numaramı telefona sonradan kendim kaydetmem gerekiyor) ama siz bir SMS yollayabilir, bu SMS gönderen kişinin IMEI referansını da içerirse; o zaman sunucu bilgisayardan bu ikisini eşleştirip geri besleme ile telefon numarasını tespit edebilirsiniz.
- Telefonun IMEI nosu dahil bir sürü yere ulaşılabilirsiniz. ("Read Phone State" permissionu TRUE yaptığınızda) bkz. Embarcadero forum
// Kullanımı :
// Fonksiyon
- 
- Android uygulamalarında telefona yüklenirken, kullanıcıdan bazı izinler istenir.
- Kullanıcı eğer kabul ederse program sisteme kurulur. Güvenlik açığı aslında teorik olarak bu nedenle yoktur ama kullanıcılar bu izin taleplerini okumadan direkt KUR butonuna basar. Bu da pratik olarak güvenlik açığı demektir.

- Delphi XE5 Project / Options sayfasında Permissions kısmında hangi izinlerin isteneceği yer alır. Bu sayfayı çok iyi inceleyin, notlarınızı alın. Sonuç olarak kişinin telefon numarasına erişilebileceğini sanmıyorum (çünkü normal hayatta da kendi numaramı telefona sonradan kendim kaydetmem gerekiyor) ama siz bir SMS yollayabilir, bu SMS gönderen kişinin IMEI referansını da içerirse; o zaman sunucu bilgisayardan bu ikisini eşleştirip geri besleme ile telefon numarasını tespit edebilirsiniz.

- Telefonun IMEI nosu dahil bir sürü yere ulaşılabilirsiniz. ("Read Phone State" permissionu TRUE yaptığınızda) bkz. Embarcadero forum
// Kullanımı :

Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := IMEIOku();
end;

Kod: Tümünü seç
uses
Androidapi.JNI.Telephony, Androidapi.JNI.Provider ,
Androidapi.JNIBridge, Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.JavaTypes,FMX.Helpers.Android;
//READ_PHONE_STATE permission = true
function IMEIOku():String;
var
obj : JObject;
tm : JTelephonyManager;
strIMEI : String;
begin
obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
if obj <> nil then
begin
tm := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );
if tm <> nil then
strIMEI := JStringToString(tm.getDeviceId);
end;
if strIMEI = '' then
strIMEI := JStringToString( TJSettings_Secure.JavaClass.getString( SharedActivity.getContentResolver, TJSettings_Secure.JavaClass.ANDROID_ID ) );
Result := strIMEI;
end;

Re: Kayıt biligileri alma
XE6 yı yükledim ve xe5 te çalışan bu kodu denedim fakat çalışmıyor.
Unable to locate file 'Android.JNI.Telephony.pas' hatasını alıyorum.
XE6 da XE5 te çalışan programlar buna benzer birçok sorundan dolayı çalışmıyor deneyen var mı acaba?
Unable to locate file 'Android.JNI.Telephony.pas' hatasını alıyorum.
XE6 da XE5 te çalışan programlar buna benzer birçok sorundan dolayı çalışmıyor deneyen var mı acaba?
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Re: Kayıt biligileri alma
(*) XE6 kurunca ben de deneyip deneyimlerimi yazarım.
(1) XE5 program klasörlerinde aşağıdaki yerde olan bir PAS dosyası vardır.
(2) Sizdeki XE6 program klasöründe bu yazdığım klasör veya benzer bir türevi var mıdır ? kontrol edin.
(3) Başka bir klasörde de olabilir veya içindekiler başka bir UNIT'e taşınmış olabilir.
(4) Bu başlıktaki "IMEI öğrenme" örneği üzerinden konuşursak, etken CLASS olan TJTelephonyManager classının hangi UNIT içinde olduğunu da bu klasördeki PAS dosyalarında TEXT search yapabilen bir programınız varsa (ben Total Commander kullanıyorum. ALT + F7 ile search ile arama yapıyorum); onunla bu sınıf adını araştırın. Hangi UNIT içinde çıkarsa o unit'i USES satırına ekleyin. Çalışması lazım.
başarılar.
(1) XE5 program klasörlerinde aşağıdaki yerde olan bir PAS dosyası vardır.
Kod: Tümünü seç
c:\Program Files\Embarcadero\RAD Studio\12.0\source\rtl\android\Androidapi.JNI.Telephony.pas
(3) Başka bir klasörde de olabilir veya içindekiler başka bir UNIT'e taşınmış olabilir.
(4) Bu başlıktaki "IMEI öğrenme" örneği üzerinden konuşursak, etken CLASS olan TJTelephonyManager classının hangi UNIT içinde olduğunu da bu klasördeki PAS dosyalarında TEXT search yapabilen bir programınız varsa (ben Total Commander kullanıyorum. ALT + F7 ile search ile arama yapıyorum); onunla bu sınıf adını araştırın. Hangi UNIT içinde çıkarsa o unit'i USES satırına ekleyin. Çalışması lazım.
başarılar.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Kayıt biligileri alma
*101# yi arayınca mesaj kutusunda kendi numaranızı veriyor belki buradan alınabilir.
Mücadele güzelleştirir!
Re: Kayıt biligileri alma
Merhaba Abi;mrmarman yazdı:(*) XE6 kurunca ben de deneyip deneyimlerimi yazarım.
(1) XE5 program klasörlerinde aşağıdaki yerde olan bir PAS dosyası vardır.(2) Sizdeki XE6 program klasöründe bu yazdığım klasör veya benzer bir türevi var mıdır ? kontrol edin.Kod: Tümünü seç
c:\Program Files\Embarcadero\RAD Studio\12.0\source\rtl\android\Androidapi.JNI.Telephony.pas
(3) Başka bir klasörde de olabilir veya içindekiler başka bir UNIT'e taşınmış olabilir.
(4) Bu başlıktaki "IMEI öğrenme" örneği üzerinden konuşursak, etken CLASS olan TJTelephonyManager classının hangi UNIT içinde olduğunu da bu klasördeki PAS dosyalarında TEXT search yapabilen bir programınız varsa (ben Total Commander kullanıyorum. ALT + F7 ile search ile arama yapıyorum); onunla bu sınıf adını araştırın. Hangi UNIT içinde çıkarsa o unit'i USES satırına ekleyin. Çalışması lazım.
başarılar.
Öncelikle cevap için teşekkür ederim.
Dediğiniz programla Embarcodero klasöründe Telephony.pas arattım ve sonuç bulamadım.
Abi çok ilginç olarak projemdeki datasnap server kısmınıda xe6 da derlemek istedim ve şu hataları aldım.
[dcc32 Error] Server_Method.pas(9): E2003 Undeclared identifier: 'TDSServerModule'
[dcc32 Error] Server_Method.pas(9): E2021 Class type required
[dcc32 Fatal Error] Server_Proje.dpr(6): F2063 Could not compile used unit 'Server_Method.pas'
Tfrm_Server_Methods = class(TDSServerModule)
Normalde bahsettiğim proje xe5 te sorunsuz çalışıyor.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Re: Kayıt biligileri alma
- Bu USSD kodunu daha önce de araştırmıştım, benim hattım Turkcell'de telefon numaramı döndürüyor. Ancak; her operatör farklı kullanabiliyormuş.greenegitim yazdı:*101# yi arayınca mesaj kutusunda kendi numaranızı veriyor belki buradan alınabilir.
- Yabancı forumlarda bulduklarımın hepsi kontörlü hatlarda kalan bakiyeyi geri döndürüyormuş.
- Tecrübelerinizi farklı operatörler ile (Vodafone, AVEA vb.) olanlar için (özellikle kontörlü hatlar) paylaşır mısınız ...
- Otelin interneti çok yavaş, bir yandan Delphi XE6 Webinarını takip ediyorum. Birazdan bitecek soru - cevap kısmında şu an. Marco cevapları veriyor. XE6'nın kalanı ise bazen hızlanıyor bazen yavaşlıyor, uzun zamandır aşağıdaki şekilde.. Şu an itibariyle hızımız...pro_imaj yazdı: Merhaba Abi;
Öncelikle cevap için teşekkür ederim.
Dediğiniz programla Embarcodero klasöründe Telephony.pas arattım ve sonuç bulamadım.
Abi çok ilginç olarak projemdeki datasnap server kısmınıda xe6 da derlemek istedim ve şu hataları aldım.
[dcc32 Error] Server_Method.pas(9): E2003 Undeclared identifier: 'TDSServerModule'
[dcc32 Error] Server_Method.pas(9): E2021 Class type required
[dcc32 Fatal Error] Server_Proje.dpr(6): F2063 Could not compile used unit 'Server_Method.pas'
Tfrm_Server_Methods = class(TDSServerModule)
Normalde bahsettiğim proje xe5 te sorunsuz çalışıyor.

göreceğin üzere deneme şansımı bu akşam göremiyorum

Re: Kayıt biligileri alma
- Telephony.pas dosyası yok dedin de aklıma geldi de, senin XE6 professional mi yoksa Architect mi ? Aşağıdaki sorudan yola çıkarak; DataSnap bildiğim kadarıyla Enterprise, Ultimate ve Architect sürümlerde var. Senin sürüm PROFESSIONAL ise belki her iki projendeki sorunun da bu olabilir.
pro_imaj yazdı: Merhaba Abi;
Öncelikle cevap için teşekkür ederim.
Dediğiniz programla Embarcodero klasöründe Telephony.pas arattım ve sonuç bulamadım.
Abi çok ilginç olarak projemdeki datasnap server kısmınıda xe6 da derlemek istedim ve şu hataları aldım.
[dcc32 Error] Server_Method.pas(9): E2003 Undeclared identifier: 'TDSServerModule'
[dcc32 Error] Server_Method.pas(9): E2021 Class type required
[dcc32 Fatal Error] Server_Proje.dpr(6): F2063 Could not compile used unit 'Server_Method.pas'
Tfrm_Server_Methods = class(TDSServerModule)
Normalde bahsettiğim proje xe5 te sorunsuz çalışıyor.
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Kayıt biligileri alma
Vodafone Kontorlu hata denedim ben geriye numara döndü başka bir operatörde denemedim.
Mücadele güzelleştirir!
Re: Kayıt biligileri alma
- Normal usülde DIAL olarak bu kodu telefona yazdırdığımıza göre geriye USSD olarak gelen data Android ile nasıl okunur onu öğrenmek kalıyor.greenegitim yazdı:Vodafone Kontorlu hata denedim ben geriye numara döndü başka bir operatörde denemedim.

- JAVA ile SMS geldiği an tespit edilebiliyor ama bu USSD olayı bir SMS bile değil.

Re: Kayıt biligileri alma
Hatta kodunu da vereyim.. Dönen USSD kodunu almadan önce göndermeyi yapmak lazım değil mi
*101# ile şebeke araması yapar.
Not : # sembolü özel olduğundan WEB mantığıyla %23 olarak yazdım. Zaten göründe anlarsınız.

*101# ile şebeke araması yapar.
Not : # sembolü özel olduğundan WEB mantığıyla %23 olarak yazdım. Zaten göründe anlarsınız.
Kod: Tümünü seç
Uses Androidapi.JNI.GraphicsContentViewText,
FMX.Helpers.Android;
procedure TForm1.Button1Click(Sender: TObject);
var
Intent : JIntent ; // Androidapi.JNI.GraphicsContentViewText
strNo : String;
begin
strNo := 'tel:*101%23';
Intent := TJIntent.Create ;
Intent.setAction ( TJIntent.JavaClass.ACTION_CALL ) ;
Intent.setData ( StrToJURI ( strNo ) ) ; // FMX.Helpers.Android
SharedActivity.startActivity ( Intent ) ;
end;
- greenegitim
- Üye
- Mesajlar: 713
- Kayıt: 28 Nis 2011 10:33
- Konum: İstanbul
Re: Kayıt biligileri alma
symbian işletim sistemli bir telefona cool sms diye bir program kurmuştum bu programla iphone telefonlara sms gönderdiğimde numaram çıkmıyordu ve mesaj ekrana direk yansıyordu oku vs. bir tuşa basmak tuş kilidi açmak gerekmiyor (Muzip şakalarda yapılabiliyordu
) mesaj direk ekranda beliriyordu şimdi android için varmı diye baktım örnek ekran görüntüsü ile googleplayde var https://play.google.com/store/apps/deta ... f.FlashSMS burada nasıl gönderdiği hakkında bilgi sahibi olunursa herhalde okuma kısmında da faydası olur.

Mücadele güzelleştirir!
Re: Kayıt biligileri alma
Bunu ben daha önce c# ile Windows Mobile için yazmıştım.
Konumuz dönen cevabın sms kutusuna düşmediği, bu nedenle de okuyamıyor olmamız.
Konumuz dönen cevabın sms kutusuna düşmediği, bu nedenle de okuyamıyor olmamız.
Re: Kayıt biligileri alma
mrmarman yazdı:- Telephony.pas dosyası yok dedin de aklıma geldi de, senin XE6 professional mi yoksa Architect mi ? Aşağıdaki sorudan yola çıkarak; DataSnap bildiğim kadarıyla Enterprise, Ultimate ve Architect sürümlerde var. Senin sürüm PROFESSIONAL ise belki her iki projendeki sorunun da bu olabilir.
pro_imaj yazdı: Merhaba Abi;
Öncelikle cevap için teşekkür ederim.
Dediğiniz programla Embarcodero klasöründe Telephony.pas arattım ve sonuç bulamadım.
Abi çok ilginç olarak projemdeki datasnap server kısmınıda xe6 da derlemek istedim ve şu hataları aldım.
[dcc32 Error] Server_Method.pas(9): E2003 Undeclared identifier: 'TDSServerModule'
[dcc32 Error] Server_Method.pas(9): E2021 Class type required
[dcc32 Fatal Error] Server_Proje.dpr(6): F2063 Could not compile used unit 'Server_Method.pas'
Tfrm_Server_Methods = class(TDSServerModule)
Normalde bahsettiğim proje xe5 te sorunsuz çalışıyor.
Merhaba;
Otelde ki hız baya sıkıntılıymış abi beklemek sıkıcı olabiliyor.
Benim sürüm Architect Trial sürümü.
Ben datasnap ı xe6 altıda yeniden oluşturdum ve şu an sorunsuz çalışıyor fakat xe5 tekini derlemiyor. Datasnap konusunu yeniden oluşturarak çözmüş olduk.
IMEI NO kısmı ile ilgili bakıyorum henüz sonuca ulaşamadım.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________