从其他应用程序调用Android应用程序并使用getLaunchIntentForPackage接收数据

时间:2016-02-27 12:46:52

标签: android

我有2个Android应用,App myapp.a和App myapp.b

我想使用startActivityForResult从myapp.b调用myapp.a,将id发送到myapp.b并使用setResult从myapp.b接收数据。

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

myapp.a:

data: { "ajax-data": textboxvalue }

myapp.b:

    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正确启动并获得正确的ID,但是在不按下按钮的情况下将调用onActivityResult。当我按下myapp.b上的按钮时,应用程序关闭,但appA不会调用onActivityResult

有没有人知道什么是错的?

谢谢

1 个答案:

答案 0 :(得分:0)

也许你的AndroidManifest文件不正确。

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

相关问题