Wie lange dauert so etwas in der Regel?
Maximal eine Stunde und jenachdem wann dein System diese abfrägt.
Bekomme ich das Update auch für EgiGeoZoneBT?
Da habe ich es noch nicht eingebaut. Kann ich aber am Abend tun, wenn wir uns entscheiden, wie wir es machen wollen.
Das Problem besteht aber immer noch. Die Plugins müssen wissen, mit welchem der EgiGeoZone(BT) sie es zu tun haben wollen!Die Unterscheidung wäre dann:
Im Plugin für EgiGeoZone:
intent.setComponent(new ComponentName("de.egi.geofence.geozone", "de.egi.geofence.geozone.plugins.Zones"));
Im Plugin für EgiGeoZoneBT:
intent.setComponent(new ComponentName("de.egi.geofence.geozone.bt", "de.egi.geofence.geozone.plugins.bt.Zones"));
Ich habe es mit ContentProvider ausprobiert und da besteht das gleiche Problem. Die Provider müssen unterschiedliche Namen haben und diese müssen in den Plugins dann entsprechend angegeben werden.
Im Plugin für EgiGeoZone:
private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.zonesContentProvider/zoneNames");
Im Plugin für EgiGeoZoneBT:
private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.bt.zonesContentProvider/zoneNames");
Aufrufbeispiel:
private static final Uri CONTENT_URI = Uri.parse("content://de.egi.geofence.geozone.zonesContentProvider/zoneNames");
private static final String CN_NAME = "name";
....
// Returns the zone names. You may not select other fields or make changes on them
ContentResolver cr = this.getContentResolver();
Cursor cursor = cr.query(CONTENT_URI, null, null, null, null);
if (cursor.moveToFirst()) {
do{
Toast.makeText(this, cursor.getString(cursor.getColumnIndex(CN_NAME)), Toast.LENGTH_SHORT).show();
} while (cursor.moveToNext());
}