Turkcell | Geleceği Yazanlar

Soru & Cevap

Android try / catch yapısını intent ile kullanmak

16.11.2013 - 11:35

Selamlar, 

Bir projemde bir activity'den digerine bir mesaj göndermem gerekiyor. Olumlu, olumsuz vs. gibi.

Gönderdiğim kısım

Intent i = new Intent(getApplicationContext(), Login.class);
i.putExtra("message", message);
startActivity(i);

Bu mesajı alan activity'de buna göre bir toast basacağım ekrana. Ama bu activity mesaj olmadan da çalışabilir. Bu yüzden getIntent gibi bişey direk kullanamıyorum çünkü uygulama hata veriyor. Yapmak istediğim ise oncreate bölümünde try/catch gibi bir yapı kullanıp, eğer başka bir activity'den buraya bir mesaj geliyorsa ona göre bir işlem yapmak eğer gelmiyorsa hiçbişey yokmuş gibi uygulamanın çalışmasına devam etmesi.

Yardımcı olur musunuz?

3376 Görüntülenme

3 Cevap

orhan
18.03.2014 - 13:02

onCreate de Activity'nin getCallingPackage ve getCallingActivity methodlarını kullanabilirsiniz tam emin değilim ama gelen bundleın null olup olmadığına da bakmak lazım olabilir.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Erhan
16.11.2013 - 12:01

Ben de şöyle bi çözüm geliştirdim. Mesajı gönderirken şöyle yapıyorum

                    Intent i = getIntent();
                    setResult(100, i);
                    finish();

 

Mesajı aldığım yerde de 

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
           
            if (resultCode == 100) {
               
                Toast.makeText(getApplicationContext(),
                        R.string.islem_tamam, Toast.LENGTH_LONG).show();
                Intent intent = getIntent();
                finish();
                startActivity(intent);
            }

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Uğur
16.11.2013 - 11:49

Merhaba ,

Bundle bundle = getIntent().getExtras();

if (!bundle.isEmpty()) {
            if (bundle.containsKey("message")) {
                String message = bundle.getBoolean("message");
               // şeklinde alabilirsin
            }
        }

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

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