2013-09-20 4 views
0

OnActivityResult() не вызывается, когда элемент управления переходит на firstActivity на Samsung Galaxy Ace (Android 2.3.6), но он работает надлежащим образом на галактике Samsung (версия 2.3.6 для Android). Пожалуйста, помогите мне ...OnActivityResult() не называется

Ниже мой код:

В первой деятельности

Intent intent = new Intent(this,CameraActivity.class); 
     startActivityForResult(intent, 2); 



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

     super.onActivityResult(requestCode, resultCode, data); 

    if (resultCode == RESULT_OK) { 

      photo = data.getByteArrayExtra("image_data"); 

     Bitmap bitmap = BitmapFactory.decodeByteArray(photo ,0,photo.length); 
     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     bitmap.compress(CompressFormat.JPEG,75, bos); 
     data1 = bos.toByteArray(); 
     bab = new ByteArrayBody(data1, ""+ ConsumerNo.getText() +".JPEG"); 
    } 

} 

В Second активность:

@Override 
    public void onPictureTaken(byte[] data, Camera camera) { 



     data1 = data; 
     if(data1 == null) 
     { 
      Log.d("==========>>>>>", "nuuullllllllllllll"); 
     } 
     FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview); 
     preview.setVisibility(View.GONE); 
     Button captureButton = (Button) findViewById(R.id.button_capture); 
     captureButton.setVisibility(View.GONE); 
     imageView = (ImageView)findViewById(R.id.imageView1); 
     saveButton=(Button) findViewById(R.id.saveBtn); 
     newButton=(Button) findViewById(R.id.newBtn); 
     imageView.setVisibility(View.VISIBLE); 
     saveButton.setVisibility(View.VISIBLE); 
     newButton.setVisibility(View.VISIBLE); 


     ImageView imageBut= (ImageView)findViewById(R.id.imageView1); 
     bitmap = BitmapFactory.decodeByteArray(data , 0, data .length); 
     ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
     bitmap.compress(CompressFormat.JPEG,75, bos); 
     imageBut.setImageBitmap(bitmap); 
     saveButton.setOnClickListener(CameraActivity.this); 


     newButton.setOnClickListener(CameraActivity.this); 

    } 


     if(((Button)v).getId() == saveButton.getId()) 
    { 
     intent = getIntent(); 

     intent.putExtra("image_data", data1); 
     setResult(RESULT_OK, intent); 

     finish(); 
    } 

ответ

0

Вы должны сделать переключатель дела о для обработки запросов.

В этом случае, сделайте следующее:

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

    super.onActivityResult(requestCode, resultCode, data); 

    switch(requestCode){ 

    case 2: //2 since you started your intent with 2 as the requestCode 
    if (resultCode == RESULT_OK) { 
     //your code here 
    } 
    break; 
    } 

} 
+0

Спасибо за предоставленный ответ .. – user2381039

+0

Если это работает, upvote и принять в качестве ответа, чтобы помочь тем, кто будет иметь ту же проблему и посмотреть на ваш вопрос. – Razgriz

+0

Спасибо за ответ. Но метод не вызывается, я просто распечатал несколько журналов сразу после «super.onActivityResult (requestCode, resultCode, data)» в инструкции onActivityResult(), и он не печатается на logcat. – user2381039

Смежные вопросы