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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android应用程序和adobe air应用程序之间传递数据相关的知识,希望对你有一定的参考价值。

我有两个应用程序说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。那我怎么能在动作脚本中做到这一点?

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

答案

你需要在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来处理此问题,例如通过自定义活动。

以上是关于在Android应用程序和adobe air应用程序之间传递数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Adob​​e AIR 在 Android 中使用原生 java 代码制作应用程序?

Adobe AIR SDK 和 Flex SDK 的关系?

使用Adobe Air构建Android本机库

Android SDK 到 Adob​​e Air

Adobe AIR 3.0自带运行时兼容什么版本的Android和iOS?

Adobe ANE 适用于 iOS 和 Android 设备,但不适用于 AIR 模拟器