Soru & Cevap

Sms Gönderme sırasında progressdialog ?

05.03.2014 - 02:10

Merhaba arkadaşlar.SMSManager sınıfını kullanarak mesaj gönderme esnasında progressdiaglog göstermek istiyorum hatta gösteriyorum lakin sms gönderme tamamlandıktan sonra hala dialog ekranda kalıyor.Nasıl çözebilirim.Teşekkürler

10 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-4816-1393230227.jpg
selim.tekinarslan
05.03.2014 - 10:02

Ertuğrul arkadaşında dediği gibi işlemi AsynTask içine alırsan hallolur.

picture-3537-1379713399.jpg
ertucaglar
05.03.2014 - 06:12

O şekilde çalışmaz ama dostum, bu işlemi ya ayrı bir Thread açarak yapacaksın ya da tavsiyem olarak AsyncTask olarak yapacaksın. Kaldı ki, bu tarz işlemleri kesimlikle async olarak yaptırın, bir işlem esnasında uygulamanın kitleniyor gibi gözükmesi, kullanıcı deneyimi açısından büyük tehlikedir. 

Bir örnek yazdım ama, Notepad++ da yazdım, grammerde hata olabilir sen düzeltirsin.

[code]

private class SendSMS extends AsyncTask<String, Void, String> {

        ProgressDialog pd = new ProgressDialog();

        @Override
        protected String doInBackground(String... params) {
        
            SmsManager smsManager = SmsManager.getDefault();
            smsManager.sendTextMessage(TelNo, null, Mesaj, null, null);
            
            return "ok";
        }

        @Override
        protected void onPostExecute(String result) {
            
            pd.dismiss();

        }

        @Override
        protected void onPreExecute() {
            pd.show(Main.this, "In progress", "Loading");
        }

        @Override
        protected void onProgressUpdate(Void... values) {}
    }

[/code]

 

Kullanım şekli de,

[code]SendSMS sendSMS = new SendSMS();
    sendSMS.execute("");[/code]

Profile picture for user sertuncselen
sertuncselen
05.03.2014 - 05:49

ProgressDialog.show(Main.this, "In progress", "Loading");

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(TelNo, null, Mesaj, null, null);

progressDialog.dismiss();

bu şekilde hiç görünmüyo ama dismisi commentlersem görünüyor ama hiç kaybolmuyor.

esasen smsManager Complete gibi bi eventi olsa orda dismis etmek gerek diye düşünüyorum 

picture-4816-1393230227.jpg
selim.tekinarslan
05.03.2014 - 03:19

Selam,

kullandığın dialog kodunu yazarsan cevaplayabilirim. Muhmetelen dialog.dismiss(); işini görecektir.