在Android应用程序和adobe air应用程序之间传递数据

问题描述 投票:1回答:1

我有两个应用程序说app1和app2。 App1是一个原生的Android应用程序,App2是一个用adobe air构建的android应用程序。现在我可以使用以下意图从App1启动App2,并且还能够通过URL将参数从App1传递到App2

        Intent i = Intent.parseUri("App2://arg1=value&secondArgument=someValue", Intent.URI_INTENT_SCHEME);
        i.addCategory(Intent.CATEGORY_BROWSABLE);
        i.setComponent(null);
        startActivity(i); 

当App2关闭时,我想将一些数据发送到App1并返回到App1。那我怎么能在动作脚本中做到这一点?

有谁能建议我解决问题的方法?

actionscript-3 air
1个回答
1
投票

你需要在app 1中使用startActivityForResult

Intent i = Intent.parseUri("App2://arg1=value&secondArgument=someValue", Intent.URI_INTENT_SCHEME);
i.addCategory(Intent.CATEGORY_BROWSABLE);
i.setComponent(null);
startActivityForResult(i, REQUEST_CODE); 

然后在app 2中的活动中执行您的操作,并在完成设置结果时:

Intent intent = new Intent();
intent.putExtra( "key", value );
setResult(Activity.RESULT_OK, intent);
finish();

这将在您的第一个应用程序中触发onActivityResult,您可以在那里处理意图:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    if (requestCode == REQUEST_CODE)
    {
        if (resultCode == RESULT_OK)
        {
            id = data.getExtras().getString("key");
        }
    }
}

如果您的第二个应用程序是AIR应用程序,您可能需要一个ANE来处理此问题,例如通过自定义活动。

© www.soinside.com 2019 - 2024. All rights reserved.