2016-02-27 21 views
0

我有2个Android应用程序,应用程序myapp.a和App myapp.b调用Android应用程序从其他应用程序和数据接收与getLaunchIntentForPackage

我想打电话给使用startActivityForResult从myapp.b myapp.a,发送ID到myapp.b并使用setResult从myapp.b接收数据。

我可以调用myapp.b并传递参数,但onActivityResult在启动myapp.b后直接用Activity.RESULT_CANCELED调用,我不明白为什么。这里是我的代码:

myapp.a:

Button b = (Button) findViewById(R.id.button1); 
    b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      Intent i= getPackageManager().getLaunchIntentForPackage("myapp.b"); 
      i.putExtra("id", 1); 
      startActivityForResult(i, 1); 
     } 
    }); 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 

    Log.w("onAResultCalled", "Code:" + resultCode); 
} 

myapp.b:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_appb); 

    Intent i = getIntent(); 
    Log.w("ID", "Called id:" + i.getIntExtra("id", -1)); 

    Button b = (Button) findViewById(R.id.button1); 
    b.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 

      Intent i= new Intent(); 
      returnIntent.putExtra("resultdata", "mydata"); 
      setResult(Activity.RESULT_OK, i); 
      finish(); 
     } 
    }); 

} 

的myapp.b正确启动,并获得正确的ID,但onActivityResult将不被调用按下按钮。当我按myapp.b上的按钮应用程序关闭,但onActivityResult不呼吁app.a

有没有人有一个想法什么是错的?

谢谢

回答

0

也许你的AndroidManifest文件不正确。

或appB崩溃,你可能有错误日志?

相关问题