我收到以下警告:
THREAD WARNING: exec()
call to MyPlugin.setAndroidPreferences blocked the main thread for 49ms.
Plugin should use CordovaInterface.getThreadPool().
从我的代码中,我使用cordova.getThreadPool()
:
private boolean setAndroidPreferences(
final JSONArray args,
final CallbackContext callbackContext)
{
cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
try {
/* ... */
if ( /* ... */)
{
final SharedPreferences settings = cordova.getActivity().getSharedPreferences(preferenceLib, Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = settings.edit();
editor.putString(preferenceName, preferenceValue);
editor.commit();
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
} else { callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR));
}
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, "getSetSharePreferences" + ": Error: " + PluginResult.Status.JSON_EXCEPTION);
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
}
}
});
return true;
}
我做错了什么?
谢谢。