是什么原因导致此问题“无法在react

是什么原因导致此问题“无法在react,第1张

是什么原因导致此问题“无法在react

使用本机网桥时,应使用包中的

WritableNative
组件调用回调
com.facebook.react.bridge

而不是a

JSONObject
使用
WritableNativeMap

而不是a
JSONArray
,请使用
WritableNativeArray

例如,带有

WritableNativeMap

@ReactMethodpublic void reactMethod(Callback onSuccess) {  WritableMap resultData = new WritableNativeMap();  resultData.putString("key1", "data");  resultData.putString("key2", "data2");  onSuccessCallback(resultData);}

对于您的情况,您应该具有以下内容

public static WritableArray applist;// ...@ReactMethodpublic void show(Callback errorCallback, Callback successCallback) {    try {        //get a list of installed apps.        PackageManager pm = getReactApplicationContext().getPackageManager();        List<ApplicationInfo> packages = pm.getInstalledApplications(0);        WritableArray app_list = new WritableNativeArray();        // ...        for (ApplicationInfo packageInfo : packages) { try {     if (getReactApplicationContext().getPackageManager().getLaunchIntentForPackage(packageInfo.packageName) != null) {         WritableMap info = new WritableNativeMap();         info.putString("name", packageInfo.loadLabel(pm).toString());         info.putString("packagename", packageInfo.packageName);         // ...         app_list.pushMap(info);     } } catch (Exception ex) {     System.err.println("Exception: " + ex.getMessage()); }        }        applist = app_list;        successCallback.invoke(applist);    } catch (Exception e) {        errorCallback.invoke(e.getMessage());    }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4936212.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存