Я создал мост в своем собственном приложении для локальной интеграции платежей. Он отлично работает на Android 7 , но на Android 9 приложение вылетает. Я не могу найти ничего в консоли. Также не могу найти что-нибудь на Google тоже. Мне также не хватает знаний по Java, поэтому я сталкиваюсь с проблемой при обнаружении настоящей проблемы. Я тоже нахожусь в тупике, поэтому мне нужно быстрое решение. Было бы очень полезно, если бы кто-нибудь показал мне какой-то путь. Код моего моста ниже -
package com.sb_ecom.sslcommerzbridge;
import com.sslwireless.sslcommerzlibrary.model.initializer.SSLCommerzInitialization;
import com.sslwireless.sslcommerzlibrary.model.initializer.CustomerInfoInitializer;
import com.sslwireless.sslcommerzlibrary.model.response.TransactionInfoModel;
import com.sslwireless.sslcommerzlibrary.model.util.CurrencyType;
import com.sslwireless.sslcommerzlibrary.model.util.SdkType;
import com.sslwireless.sslcommerzlibrary.view.singleton.IntegrateSSLCommerz;
import com.sslwireless.sslcommerzlibrary.viewmodel.listener.TransactionResponseListener;
import android.support.annotation.Nullable;
import android.util.Log;
import org.json.JSONObject;
import org.json.JSONException;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.WritableMap;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.Callback;
import java.util.HashMap;
import java.util.Map;
//import SSLCommerzInitialization;
public class SslCommerzBridgeModule extends ReactContextBaseJavaModule {
public static final String REACT_CLASS = "SslCommerzBridge";
private static ReactApplicationContext reactContext = null;
public SslCommerzBridgeModule(ReactApplicationContext context) {
// Pass in the context to the constructor and save it so you can emit events
// https://facebook.github.io/react-native/docs/native-modules-android.html#the-toast-module
super(context);
reactContext = context;
}
@Override
public String getName() {
// Tell React the name of the module
// https://facebook.github.io/react-native/docs/native-modules-android.html#the-toast-module
return REACT_CLASS;
}
@Override
public Map<String, Object> getConstants() {
// Export any constants to be used in your native module
// https://facebook.github.io/react-native/docs/native-modules-android.html#the-toast-module
final Map<String, Object> constants = new HashMap<>();
constants.put("EXAMPLE_CONSTANT", "example");
return constants;
}
@ReactMethod
public void payWithSslCommerz(String sslCommerzParams, Callback callBack){
String transactionStatus = "";
try {
JSONObject data = new JSONObject(sslCommerzParams);
String storeId = data.getString("storeId");
String storePass = data.getString("storePass");
String name = data.getString("name");
String email = data.getString("email");
String phone = data.getString("phone");
String orderId = data.getString("orderId");
Double price = data.getDouble("price");
transactionStatus = name +"===here "+orderId+" "+price +" "+storeId+" "+storePass +" "+email+" "+phone ;
//callBack.invoke(transactionStatus);
final SSLCommerzInitialization sslCommerzInitialization = new SSLCommerzInitialization(storeId, storePass, price, CurrencyType.BDT, orderId, "", SdkType.TESTBOX);
//final CustomerInfoInitializer customerInfoIntializer = new CustomerInfoInitializer(name, email, "", "", "", "", phone);.addCustomerInfoInitializer(customerInfoIntializer)
IntegrateSSLCommerz.getInstance(reactContext).addSSLCommerzInitialization(sslCommerzInitialization).buildApiCall(new TransactionResponseListener() {
@Override
public void transactionSuccess(TransactionInfoModel transactionInfoModel) {
Log.d("SSL", "Transaction ID: " + transactionInfoModel.getTranId());
callBack.invoke("success");
}
@Override
public void transactionFail(String s) {
Log.e("SSL", "Transaction ID: " + s);
callBack.invoke("fail");
}
@Override
public void merchantValidationError(String s) {
callBack.invoke("error");
}
});
} catch (JSONException e) {
callBack.invoke(e);
System.out.println(e);
}
// callBack.invoke(transactionStatus);
}
}
Любая помощь высоко ценится. Заранее спасибо.