问题描述
我的App1启动App2:
case R.id.launch_button: {
try {
Intent intent = getPackageManager().getLaunchIntentForPackage("com.app1");
intent.putExtra("Price",getAmount());
intent.putExtra("Description",getProductId());
startActivityForResult(intent,PAYMENT_REQUEST);
} catch (ActivityNotFoundException e) {
e.printstacktrace();
Log.i(TAG,"Activity not found" );
}
break;
}
App2完成处理后,应返回RESULT_OK
或RESULT_CANCELED
:
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
Log.i(TAG,"onActivityResult " + requestCode + " " + resultCode + " " + data);
if (requestCode == PAYMENT_REQUEST) {
if (resultCode == Activity.RESULT_OK) {
Toast.makeText(this,"Payment success",Toast.LENGTH_LONG).show();
}
if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(this,"Payment fail",Toast.LENGTH_LONG).show();
}
}
}
但是RESULT_CANCELED
会在App2启动时立即出现。
为什么在App2启动之前都收到RESULT_CANCELED
?我在做什么错了?
App2返回结果代码:
@Override
public void onPaymentSuccess() {
activity.setResult(Activity.RESULT_OK);
activity.finish();
}
@Override
public void onPaymentFail() {
activity.setResult(Activity.RESULT_CANCELED);
activity.finish();
}
App2完成后,我也没有收到任何结果。
注意:App2使用片段
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)