Arayan numarayı görmek

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

Re: Arayan numarayı görmek

Mesaj gönderen debug »

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: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan »

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: 8
Kayıt: 27 Ağu 2010 09:26

Re: Arayan numarayı görmek

Mesaj gönderen debug »

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: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan »

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: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: Arayan numarayı görmek

Mesaj gönderen fesiharslan »

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: 8
Kayıt: 27 Ağu 2010 09:26

Re: Arayan numarayı görmek

Mesaj gönderen debug »

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