Передача данных между Android-приложением и Adobe Air - PullRequest
1 голос
/ 14 марта 2019

У меня есть два приложения, скажем, app1 и app2. App1 - это нативное приложение для Android, а App2 - это сборка приложений для Android с Adobe Air. Теперь я могу запустить App2 из App1 с помощью следующего намерения, а также передать параметры через 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. Так как я могу сделать это в сценарии действия?

Может ли кто-нибудь предложить мне метод решения проблемы?

1 Ответ

1 голос
/ 15 марта 2019

Вам нужно будет использовать startActivityForResult в приложении 1.

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); 

Затем в упражнении в приложении 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, чтобы справиться с этим, например, с помощью пользовательского действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...