Added the complete information of the extras bundle to the JSON object return
Added the complete information of the extras bundle to the JSON object return. With that I could remove the functions getExtra and getExtraLines. There was also a problem with getExtraLines, since it only provided the last line, not all the lines. The keys are still the same as before, since I removed the android.-prefix from all the keys, so there should be no big issue with compability. Except for the lines, but I think it is right how it now works (see above). Only the package is now fetched by a static parameter. Maybe it makes sense, to even get all the data from StatusBarNotification Object to have even more data to provide. https://github.com/coconauts/NotificationListener-cordova/pull/9
This commit is contained in:
parent
a785d7e184
commit
b6c45fe607
|
@ -10,6 +10,7 @@ import android.util.Log;
|
||||||
import org.apache.cordova.PluginResult;
|
import org.apache.cordova.PluginResult;
|
||||||
import android.service.notification.StatusBarNotification;
|
import android.service.notification.StatusBarNotification;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public class NotificationCommands extends CordovaPlugin {
|
public class NotificationCommands extends CordovaPlugin {
|
||||||
|
|
||||||
|
@ -83,11 +84,27 @@ public class NotificationCommands extends CordovaPlugin {
|
||||||
|
|
||||||
Bundle extras = n.getNotification().extras;
|
Bundle extras = n.getNotification().extras;
|
||||||
|
|
||||||
json.put("title", getExtra(extras, "android.title"));
|
//json.put("title", getExtra(extras, "android.title"));
|
||||||
json.put("package", n.getPackageName());
|
json.put("package", n.getPackageName());
|
||||||
json.put("text", getExtra(extras,"android.text"));
|
//json.put("text", getExtra(extras,"android.text"));
|
||||||
json.put("textLines", getExtraLines(extras, "android.textLines"));
|
//json.put("textLines", getExtraLines(extras, "android.textLines"));
|
||||||
|
|
||||||
|
Set<String> keys = extras.keySet();
|
||||||
|
/* Iterate over all keys of the bundle to give back all the information available */
|
||||||
|
for (String key : keys) {
|
||||||
|
try {
|
||||||
|
String printKey = key;
|
||||||
|
/* If key has a prefix android., this will be removed. */
|
||||||
|
if(printKey.indexOf("android.")==0 && printKey.length()>8){
|
||||||
|
printKey = printKey.substring(8,key.length());
|
||||||
|
}
|
||||||
|
// json.put(key, bundle.get(key)); see edit below
|
||||||
|
json.put(printKey, JSONObject.wrap(extras.get(key)));
|
||||||
|
} catch(JSONException e) {
|
||||||
|
Log.d(TAG,e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue