Я использовал SharedPreferences (PreferenceManager.getDefaultSharedPreferences
) для обмена данными между плагином и активностью. Хотя это может не полностью соответствовать вашей ситуации, но я так и использовал.
Plugin1.java
public PluginResult execute(String action, JSONArray args, String callbackId) {
PluginResult result = new PluginResult(Status.OK);
result.setKeepCallback(true);
// Set the preference data based on plugin call
counter++;
PreferenceManager.getDefaultSharedPreferences(this.ctx.getApplicationContext()).edit().putInt("counter", counter).commit();
return result;
}
AppActivity.java
public boolean onPrepareOptionsMenu(Menu menu) {
int counter = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext()).getInt("counter", 0);
Log.i("App", "counter value - " + counter);
return super.onPrepareOptionsMenu(menu);
}
В моем случае общие настройки сделали свое дело, поскольку они сохраняют данные. Вы можете посмотреть другие варианты здесь