2016-02-12 4 views
0

У меня есть приложение App1 (приложение cordova) и вызывающая активность App2. вот код App1onActivityResult звонит перед началом работы

mContext.startActivityForResult(intent, MainActivity.REQUEST_CODE_COMMUNICATION_APP); 

реализовали следующие onActivityResult в App1

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == this.REQUEST_CODE_COMMUNICATION_APP) { 
     if (resultCode == RESULT_OK) { .... 

Теперь здесь метод отделки() из actvity из App2

public void finishWithResult() { 
    setResult(RESULT_OK, new Intent()); 
    finish(); 
} 

Теперь проблема заключается в том, что, когда активность, начатая startActivityForResult из App1, сразу же метод onActivityResult запускается в App1. Однако его следует вызывать, когда i активность приложения App2 вызывает finishWithResult(). Может кто-нибудь сказать мне, где я делаю ошибку?

ответ

1
Intent in = caller.getPackageManager().getLaunchIntentForPackage("com.your.package.here"); 

Что бы создать intent с Intent.FLAG_ACTIVITY_NEW_TASK добавленным по умолчанию, так называют: in.setFlags(0);
Который очистит этот флаг, а затем вы можете перейти к:

startActivityForResult(in, action); 
Смежные вопросы