2015-10-07 20 views
1

我想通過一些音頻的名字在我的Android App.I以前的活動嘗試了很多ways.I的不知道在哪裏我正在犯錯誤了。我想將記錄音頻名稱發送到上一課。爲什麼不傳球意圖之前的活動中的Android

這是我的代碼record_Audio。

btnSaveRecord = (Button)findViewById(R.id.buttonSaveRecord); 
      btnSaveRecord.setOnClickListener(new View.OnClickListener() 
      { 
       @Override 
       public void onClick(View v) 
       { 
        /* Intent intent = new Intent(Record_Audio.this , AddPost.class); 
        intent.putExtra("STRING_I_NEED", newAudioFile); 
        setResult(REQUEST_CODE, intent); 
        finish();*/ 

        Intent intent = new Intent(Record_Audio.this, AddPost.class); 
        // Add any data that you wish to send 
        intent.putExtra("DATA", newAudioFile); 
        startActivityForResult(intent, REQUEST_CODE); 

        //Intent intent = new Intent(Record_Audio.this , AddPost.class); 
        //startActivity(intent); 
        //finish(); 

       } 
      }); 

在以前的代碼,我想收到AudioName = AddPost活動

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
    { 
     super.onActivityResult(requestCode, resultCode, data); 
     try 
     { 
      if (requestCode == REQUEST_CODE) 
      { 
       if (resultCode == RESULT_OK) 
       { 
        String newString = data.getExtras().getString("STRING_I_NEED"); 
        Log.e("newString "," = "+newString); 
        String valueToChange = data.getExtras().getString("DATA"); 
        Log.e("valueToChange "," = " + valueToChange); 

       } 
      } 

      if (requestCode == CAMERA_REQUEST) 
      { //Capture Camera Image } 

      if (requestCode == RESULT_LOAD_IMG) 
      { // //Capture Gallery Image} 
+0

沒有人知道什麼是你當前活動的,哪些是你以前提到activity.Please活動名稱 –

+0

@androidTag:我覺得你的代碼是不完整的.. !! – AndiGeeky

+0

你想將數據從Record_Audio傳遞給AddPost?或從AddPost到Record_Audio? –

回答

2

首先,當你從AddPost活動呼籲RecordAudio活動,您不能使用startActivity。您需要使用startActivityForResult()

調用RecordAudio從AddPost使用下面的代碼:

Intent intent=new Intent(AddPost.this, RecordAudio.class); 
startActivityForResult(intent, 1010); 

在你RecordAudio文件

getIntent().putExtra("data", "your data"); 
setResult(RESULT_OK, getIntent()); 
finish(); 

和AddPost onActivityForResult()

protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{ 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode==1010 && resultCode==RESULT_OK) 
    { 
      String newString = data.getExtras().getString("data"); 
      Log.e("newString "," = "+newString); 
    } 
} 
+1

謝謝拉維你救了我的一天!偉大的工作,非常感謝你 – androidTag

0

在這裏,我提供了一個簡單的演示,介紹如何爲結果啓動活動:

這裏是我的FirstActivity

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class FirstActivity extends Activity { 

    private Button btnFirstActivity; 
    private static final String TAG = FirstActivity.class.getSimpleName(); 
    public static final String KEY_FILENAME = "filename"; 
    public static final int REQUEST_CODE = 0; 
    public static final int RESPONSE_CODE = 1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_first); 

     btnFirstActivity = (Button) findViewById(R.id.btn_first); 
     btnFirstActivity.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(FirstActivity.this, SecondActivity.class); 
       intent.putExtra(KEY_FILENAME, "audiofile.mp3"); 
       startActivityForResult(intent, REQUEST_CODE); 
      } 
     }); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == REQUEST_CODE && resultCode == RESPONSE_CODE) { 
      Log.e(TAG, "-------GOT RESPONSE CODE--------"); 
      Log.e(TAG, "DATA IS : " + data.getStringExtra(KEY_FILENAME)); 
     } 
    } 
} 

佈局FirstActivityactivity_first.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <Button 
     android:id="@+id/btn_first" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Start Second Activity" /> 

</LinearLayout> 

這裏是我的SecondActivity

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 

public class SecondActivity extends Activity { 

    private Button btnSecondActivity; 
    private static final String TAG = SecondActivity.class.getSimpleName(); 
    private String strFileName = null; 
    private SecondActivity secondActivity; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 
     secondActivity = SecondActivity.this; 
     strFileName = getIntent().getStringExtra(FirstActivity.KEY_FILENAME); 
     btnSecondActivity = (Button) findViewById(R.id.btn_second); 
     btnSecondActivity.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       for (int i = 0; i < 50; i++) { 
        Log.e(SecondActivity.TAG, "------PRINTING-----" + i); 
       } 

       Intent intent = new Intent(); 
       intent.putExtra(FirstActivity.KEY_FILENAME, strFileName); 
       setResult(FirstActivity.RESPONSE_CODE, intent); 
       secondActivity.finish(); 
      } 
     }); 
    } 

} 

佈局SecondActivityactivity_second.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 


    <Button 
     android:id="@+id/btn_second" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="Start First Activity" /> 

</LinearLayout> 

希望它能幫助:)

謝謝..!

相關問題