Android 从意图通知父活动

Android 从意图通知父活动,android,Android,如何通知(例如调用方法)作为意图启动另一个活动的父活动,因此,一旦第二个意图完成了一些工作,它应该通知第一个活动传递一些参数 当您完成活动时 @Override public void onClick(View arg0) { String message=editText1.getText().toString(); Intent intent=new Intent();

如何通知(例如调用方法)作为意图启动另一个活动的父活动,因此,一旦第二个意图完成了一些工作,它应该通知第一个活动传递一些参数

当您完成活动时

        @Override  
            public void onClick(View arg0) {  
                String message=editText1.getText().toString();  
                Intent intent=new Intent();  
                intent.putExtra("MESSAGE",message);  

                setResult(2,intent);  

                finish();//finishing activity  
            }  
        });  
在父活动中尝试此代码,重写onActivityResult()方法


这很简单,你应该打电话

startActivityForResult(yourNextActivityIntent,requestCode);
然后在下一个活动中,您可以像这样将结果发送给ParentActivity

setResult(RESULT_OK);
finish();
在父活动中,您必须重写此方法以获得挂起的结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   // here you can check for the requestCode that you have requested while calling next Activity
   if (requestCode == yourRequestCode && resultCode == RESULT_OK){
      //perform your actions
   }
}

我们需要通过startActivityForResult(intent,resultcode)来启动活动,因此这将包含两个参数,即请求代码(INTEGER)和intent。当第二个活动完成工作时,我们需要创建不带参数的intent,然后我们需要调用setResult(resultcode,intent)方法来通知第一个活动。然后我们需要调用finish()方法来销毁第二个活动。当第一个活动聚焦于ActivityResult时,将调用它,所以我们需要实现它。在那里,我们可以通知第一个活动


哇,这是一个很棒但很少被提及的问题。你可能想看看这个答案:谢谢你的及时回答,这个答案中只缺少开始这个活动的一个步骤,所以我选择了另一个答案作为最佳答案。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   super.onActivityResult(requestCode, resultCode, data);
   // here you can check for the requestCode that you have requested while calling next Activity
   if (requestCode == yourRequestCode && resultCode == RESULT_OK){
      //perform your actions
   }
}