我为 React Native 创建了一个简单的本机模块来查看手机是否支持 eSim。 我已经使用了这个指令这是模块的代码。
package com.nativetest;
import android.app.assist.AssistStructure;
import android.content.Context;
import android.os.Build;
import android.telephony.euicc.EuiccManager;
import android.util.Log;
import androidx.annotation.RequiresApi;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
public class EsimModule extends ReactContextBaseJavaModule {
private static ReactApplicationContext reactContext;
EsimModule(ReactApplicationContext context) {
super(context);
reactContext = context;
}
@RequiresApi(api = Build.VERSION_CODES.P)
@ReactMethod
public void checkIfEsimEnabled() {
EuiccManager mgr = (EuiccManager) reactContext.getSystemService(Context.EUICC_SERVICE);
assert mgr != null;
Log.d("EsimModule", "Is Esim enabled " + mgr.isEnabled());
mgr.isEnabled();
}
@Override
public String getName() {
return "Esim";
}
}
问题是,当我在模拟器(Google Pixel 3a、API 30)上运行我的应用程序时,mgr.isEnabled() 的结果始终为 false,因此我无法检查 RN 端是否获得了正确的数据。有没有办法配置支持 eSim 的模拟器?
Android模拟器不支持e-SIM。