Arayan numarayı görmek

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
debug
Üye
Mesajlar: 7
Kayıt: 27 Ağu 2010 08:26

Re: Arayan numarayı görmek

Mesaj gönderen debug » 04 Tem 2016 12:33

fesiharslan yazdı:Merhaba;
Muhtemelen if Temp.Length > 0 then satırında beklenen Temp değeri sıfırdan büyük değil. Bundan dolayı form oluşturma kodlarınız çalışmıyordur.
Kodları debug :) (gülümsemenin nedeni nickinizle kullandığım terimin aynı olması) ederek işlem adımlarının sağlamasını yapın.
ama toast satırını açtığımda toast çalışıyor yani temp değeri sıfırdan büyük.

yani;

Toast('In coming call number: '+Temp,TToastLength.ShortToast);
Frm1 := TFrm1.Create(Self);
Frm1.Show;

şeklinde yazıyorum toast çalışıyor ama form açılmıyor.

Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 588
Kayıt: 20 Eki 2006 10:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan » 04 Tem 2016 01:02

Merhaba;
Formu Modal olarak oluşturarak deneyin.

Örneğin;

Kod: Tümünü seç

var
  frmOrnek: TFrm2;
begin
  // sizin kodlarınız
  // sizin kodlarınız
  frmOrnek := TFrm2.Create(nil);
  frmOrnek.ShowModal(
    procedure(ModalResult: TModalResult)
    begin
      // Form modal durumunda yapılacak işlemler...
    end
  );
   // sizin kodlarınız
   // sizin kodlarınız
end;
İyi çalışmalar...

debug
Üye
Mesajlar: 7
Kayıt: 27 Ağu 2010 08:26

Re: Arayan numarayı görmek

Mesaj gönderen debug » 04 Tem 2016 05:02

fesiharslan yazdı:Merhaba;
Formu Modal olarak oluşturarak deneyin.

Örneğin;

Kod: Tümünü seç

var
  frmOrnek: TFrm2;
begin
  // sizin kodlarınız
  // sizin kodlarınız
  frmOrnek := TFrm2.Create(nil);
  frmOrnek.ShowModal(
    procedure(ModalResult: TModalResult)
    begin
      // Form modal durumunda yapılacak işlemler...
    end
  );
   // sizin kodlarınız
   // sizin kodlarınız
end;
İyi çalışmalar...
kodu aşağıdaki şekilde ayarladım. ancak her hangi bir sonuç alamadım. form karşıma çıkmıyor. ama toastlar çalışıyor...

procedure TForm4.BroadcastReceiver1Receive(Context: JContext; Intent: JIntent);
{$IFDEF ANDROID}
var
telephonyManager: JTelephonyManager;
obj: JObject;
Temp: String;
frmOrnek: TFrm2;
begin
if not BroadcastReceiver1.HasPermission('android.permission.READ_PHONE_STATE') then
begin
ShowMessage('You don''t have permission for Read Phone State!');
Exit;
end;

Obj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
telephonyManager := TJTelephonyManager.Wrap( (obj as ILocalObject).GetObjectID );

Temp := JStringToString(intent.getStringExtra(StringToJString('incoming_number')));
if Temp.Length > 0 then
begin
Toast('In coming call number: '+Temp,TToastLength.ShortToast);
frmOrnek := TFrm2.Create(nil);
frmOrnek.ShowModal(
procedure(ModalResult: TModalResult)
begin
// Form modal durumunda yapılacak işlemler...
end
);

end
else
Toast('No Number..',TToastLength.ShortToast);
{$ELSE}
begin
{$ENDIF}
end;

Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 588
Kayıt: 20 Eki 2006 10:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan » 04 Tem 2016 06:55

Merhaba;
Toast mesajı bir istisna üretiyor olabilir. Bundan dolayı uygulamanın devamındaki kodlar çalışmıyor olabilir. Formu Create ettiğiniz kod satırında hemen önceki Toast mesajını kapatın. Uygulamayı test edin. En sağlıklı yöntem dediğim gibi debug.
İkinci bir yöntem ise işlemlerinizi, BroadcastReceiver nesnesi yerine, Delphi component ve sınıfları ile yapın.

Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 588
Kayıt: 20 Eki 2006 10:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan » 04 Tem 2016 10:18

Merhaba;
Yukarıda bahsetmiş olduğum Delphi sınıfları ile ilgi bir konu açılmıştı.
Link: viewtopic.php?f=36&t=35718&hilit=Çağrı&start=15#p192587

debug
Üye
Mesajlar: 7
Kayıt: 27 Ağu 2010 08:26

Re: Arayan numarayı görmek

Mesaj gönderen debug » 08 Tem 2016 11:47

toast kapalı olarak denemiştim yine de olmamıştı her halde orada form u gösteremiyoruz.
dediğiniz gibi delphi sınıfları ile yapmaya çalışacağım.

Cevapla