2014-01-16 3 views
0

Я пытаюсь получить доступ и выбрать звук с камбуза для Android. Это то, что я реализовал:Как реализовать метод onActivityResult

Intent intent = new Intent(); 
intent.setType("audio/*"); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
intent.setAction(Intent.ACTION_GET_CONTENT); 

Но проблема с startActivityForResult. Здесь я хочу, чтобы startActivityForResult на другую активность сказал testActivity, которая недоступна для меня. так что моя следующая строка:

testActivity.getActivity().startActivityForResult(intent, 0); 

вот почему я запутался с тем, где и как я должен реализовать onActivityResult метод, потому что я не могу сделать что-нибудь на testActivity. Кто-нибудь может мне помочь ?

+0

Почему нет, вы начинаете деятельность с testactivity, затем – stinepike

+0

Можете ли вы более четко рассказать о своем замешательстве? Почему тестовая активность недоступна? если нет, то как вы можете написать testActivity.getActivity()? –

+0

testActivity является частью файла jar. Вот почему я не могу их модифицировать. –

ответ

-1

Ваш FirstActivity называют() метод SecondActivity с помощью startActivityForResult

например:

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

В вашем SecondActivity установить данные, которые вы хотите, чтобы вернуться обратно в FirstActivity, если вы не хотите возврат назад не установлен.

например: В secondActivity если вы хотите послать назад данные:

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

, если вы не хотите, чтобы вернуть данные:

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

Теперь в вашем FirstActivity класса писать следующий код для onActivityResult()

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

    if (requestCode == 1) { 

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

попытайтесь снова прочитать мой вопрос. –

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