SORU
2 Mayıs 2012, ÇARŞAMBA


Nasıl startActivityForResult yönetmek için` Android?

Benim etkinlik, startActivityForResult ana faaliyet ikinci bir aktivite arıyorum. Benim ikinci etkinlik bu etkinliği bitirmek bazı yöntemler (belki sonuç olmadan), ancak, iade sadece tek bir sonucu vardır.

Ana aktiviteden örneğin, ikinci bir çağrı yapıyorum. Yapar gibi telefonun bazı özellikleri kontrol ediyorum bu aktivitede bir kamera var. Eğer var değil mi, eğer öyleyse bu etkinlik kapatacağım. Eğer bir sorun olursa da, MediaRecorder veya * hazırlık sırasında bu etkinlik kapatacağım.

Eğer cihaz bir kamera ve kayıt bitti tamamen, sonra bir video kaydı varsa, bir kullanıcı tıklama bitti düğmesine sonra göndereceğim sonucu (Adres kaydedilen video) geri ana faaliyet.

Nasıl ana faaliyet sonucu kontrol edebilirim?

CEVAP
2 Mayıs 2012, ÇARŞAMBA


Senin FirstActivity SecondActivity startActivityForResult() yöntem kullanarak arayın

Örneğin:

Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);

Senin SecondActivity FirstActivity iade etmek istediğiniz veri kümesi. Eğer geri dönmek istersen eğer, herhangi bir set yok.

Örneğin: eğer verileri geri göndermek isterseniz: secondActivity

Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(RESULT_OK,returnIntent);
finish();

Veri dönmek istemiyorsanız:

Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();

Senin FirstActivity şimdi sınıf onActivityResult() yöntemi için aşağıdaki kodu yazmak.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 1) {
        if(resultCode == Activity.RESULT_OK){
            String result=data.getStringExtra("result");
        }
        if (resultCode == Activity.RESULT_CANCELED) {
            //Write your code if there's no result
        }
    }
}//onActivityResult

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jon Reed

    Jon Reed

    14 AĞUSTOS 2006
  • LimeFire

    LimeFire

    2 ŞUBAT 2012
  • MW Technology

    MW Technolog

    28 EKİM 2009