2

У меня есть два приложения отдельно. Приложение для клиентов и продавцов. Я хочу заплатить деньги за клиентское приложение и получить ответ на приложение продавца. Во всяком случае, у меня есть концепция глубокой связи, включенная в приложении продавца. Приложение для клиента: В нем есть три страницы «Активность» внутри клиентских сведений о приложении app.getting (первая страница активности) и подтверждение подтверждения (второе действие), а оплата - третье действие. Примечание. Откройте приложение «Клиент», используя приложение «Продавца», заполните все детали и оплатите их с клиентского приложения и отправьте ответ на приложение «Продавец». для этого на стороне клиента я поставил код для этого:Как получить данные onActivityResult из внешней активности приложения с помощью seResult или startActivityForResult

Intent object = new Intent(); 
object.putExtra("data", "3434434343343"); 
setResult(Activity.RESULT_OK, object); 
finish(); 

Продавцу App Code:

protected void onActivityResult(int ResCode, int ReqRes, Intent data) { 

super.onActivityResult(ResCode, ReqRes, data); 

if (ResCode == 1 && ReqRes == Activity.RESULT_OK && data != null) { 

String response = data.getStringExtra("data"); 

} 
} 

проблема: со стороны клиента успешно передачи данных с использованием setResult.then, Продавец приложение деятельности успешно вызывая onActivityResult также, но, данные Intent поступают только как NULL. Потому что здесь клиентская сторона использует несколько действий, используя только тогда, передавая результат. Это моя проблема. Если в любом случае, чтобы получить onActivityResult из нескольких операций с цепочкой ссылок (внешние действия приложения), это полезно для меня.

Примечание: Я нашел одно решение, если два приложения имеют одно действие, его надлежащим образом setresult и OnactivityResult вызывает и получает данные. Но мой сценарий, если для нескольких цепочных ссылок. Действия для клиентского приложения.

Пожалуйста, помогите выйти с этой проблемой. Thanks Advance

+0

Lame вопрос: Пробовали ли вы впоследствии чтение данных в 'onActivityResult()', а затем установить его как 'setResult()' в вашей цепочке связанных деятельности? – Shaishav

+0

Я хочу вернуть ответ от третьего действия на приложение продавца, так или иначе, я сделал setResult только для третьей активности. здесь я не хотел передавать данные из сетевых операций в клиентском приложении. Я просто хочу отправить данные ответа в приложение продавца onActivityResult. – harikrishnan

+0

Итак, дайте мне знать, если я прав. За приложением продавца следует клиентское приложение, в котором пользователь переходит к третьему действию, где она генерирует данные, которые должны быть отправлены в приложение продавца (возможно, через 'setResult()') – Shaishav

ответ

1

Основываясь на вашем сценарии использования, описанном выше, я считаю, что лучшая архитектура, которая позволила бы такое общение, было бы, если клиентское приложение использует установку на основе Fragment. Здесь вы можете запустить активность клиента из приложения-продавца, чтобы пользователь мог перейти к различным фрагментам, а затем использовать setResult(), где угодно. Так как это индивидуальное поведение с настройкой результата активности, оно должно работать.

Другое предложение, которое вы можете попробовать, учитывая, что вы не хотите идти фрагментным способом, находится в клиентском приложении, так как пользователь путешествует по разным видам деятельности, вы можете сразу вызвать finish() в них, а затем в заключительном вызове активности setResult() , Вероятно, это не сработает, но [очень] небольшая часть меня говорит, что может :).

+0

благодарим за ответ. для первого предложения, я хочу изменить свой общий код активности приложения на фрагмент кода. Его большое изменение для меня ... но, будет думать окончательно. – harikrishnan

+0

второй, я уже пробовал, в третьем действии, я установил для setResult(), когда возвращаюсь в приложение «Продавца», его вызов onActivityResult() успешно, но данные Intent получают нулевое значение. Этот метод не разработан .. – harikrishnan

+0

Да, я подумал, что может не сработать :(. – Shaishav

-1

Вы можете перемещаться от ThirdActivity до FirstActivity, а затем возвращать обратно вашему продавцу приложение в методе onNewIntent вашего FirstActivity.

После завершения всех трех процедур клиентское приложение должно иметь следующие стеки.

FirstActivity -> SecondActivity -> ThirdActivity 

И ваш ThirdActivity находится на вершине стека. Ваш ThirdActivity может перейти к FirstActivity, используя следующий код

Intent toFirstIntent = new Intent(this, FirstActivity.class); 
toFirstIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
toFirstIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
startActivity(toFirstIntent); 
finish(); 

Затем в FirstActivity, вы можете установить данные и вернуться к продавцу приложение.

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    Intent data = new Intent(); 
    data.putExtra("data", "12345678"); 
    setResult(RESULT_OK, data); 
    finish(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^