调用Android应用程序从其他应用程序和数据接收与getLaunchIntentForPackage
问题描述:
我有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
有没有人有一个想法什么是错的?
谢谢
答
也许你的AndroidManifest文件不正确。
或appB崩溃,你可能有错误日志?