Autore Topic: App Widget - Come inserire non più di un widget  (Letto 800 volte)

Offline RogoMantiK

  • Utente junior
  • **
  • Post: 61
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Xperia Neo
App Widget - Come inserire non più di un widget
« il: 24 Settembre 2013, 15:00:01 CEST »
0
Sto facendo un widget per la mia applicazione e non voglio che si possa aggiungere più di un widget per evitare la gestione di troppe cose.
Ho fatto l widget seguendo le guide su questo forum e anche da qualche altra parte
Non ho capito però in che modo posso capire quanti widget sono attualmente visibili
Nella classe che estende AppWidgetProvider c'e il parametro int[] appWidgetIds
e poi si mette il classico ciclo
Codice (Java): [Seleziona]
for(int i=0;i<appWidgetIds.length;i++){
//si aggiornano i widget
}

se al posto del ciclo metto qualcosa del tipo
Codice (Java): [Seleziona]
if(appWidgetIds.length>1){
//è stato inserito un secondo widget dello stesso tipo ---ANNULLA INSERIMENTO - come?
}else{
//aggiorno il widget
}

però questo controllo (ammesso che sia giusto) andrebbe fatto nell'AppWidgetProvider.
Però all'aggiunta del widget dovrebbe venire comunque essere chiamata la classe di configurazione
E in questa classe si prende dall'extra  l'AppWidgetId
Codice (Java): [Seleziona]
Bundle extras = getIntent().getExtras();
int mAppWidgetId = 0;
                if (extras != null) {
                        mAppWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
                }

Come posso capire in questa fase se ci sono già altri widget caricati?

Grazie