我正试图访问并从Android音乐厨房中挑选声音。这就是我实施的内容:
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 :(得分:-1)
从FirstActivity使用startActivityForResult()方法调用SecondActivity
例如:
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