我从Bambora SDK实现了android原生模块,并通过getCurrentActivity().startActivity(intent);
显示了其原生视图(活动)
它就像一个魅力,但finish()
使整个应用程序退出而不是回去。以下是我的一些代码。
public class ToastModule extends ReactContextBaseJavaModule {
@ReactMethod
// Calling module function from ReactJS code and works well
public void goToRegisterCardView(Callback callback) {
Intent intent = new Intent(getCurrentActivity(), NativeCardRegistrationActivity.class);
getCurrentActivity().startActivity(intent); //start Activity successfully
}
...
}
public class NativeCardRegistrationActivity extends AppCompatActivity implements ICardRegistrationCallback {
@Override
public void onRegistrationSuccess(CreditCard creditCard) {
finish();// Exit whole app instead of going back.
}
...
}
所以我确定这不是 Bambora SDK 和finish()
杀死NativeCardRegistrationActivity
的原因。整个应用程序被杀死,因为Activity Stack
中没有任何活动。
因为我不熟悉Java代码,所以我无法弄清楚原因是什么。
请让我知道什么是错的,以及我如何回到原始的反应原生活动。
**更新
这是我的MainApplication.java代码
public class MainApplication extends MultiDexApplication {
// Needed for `react-native link`
public List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
// new MainReactPackage(),
new AnExampleReactPackage(this)
);
}
}
目前,我暂时评论了new MainReactPackage()
并且没有发生错误,但如果我删除评论以启用new MainReactPackage()
,那么我可以看到红色背景的错误。