2014-07-11 15 views
9

Il mio attuale gioco Android utilizza BaseGameActivity.No Pop Up viene visualizzato quando si chiama Games.Achievements.unlock

Il mio gioco utilizza Obiettivi, che vengono sbloccati quando richiesto.

Tuttavia, non vedo SEMPRE i PopUp relativi all'evento di sblocco.

So che il popup appare solo quando si sblocca per la prima volta l'Obiettivo.

Alcuni popup sembrano buoni, altri (da schermate diverse nel mio gioco) non appaiono mai.

Cosa devo fare per garantire la comparsa dei popup?

Ho la sensazione che il suo rapporto con l'ATTENZIONE:

W/PopupManager(10725): You have not specified a View to use as content view for popups. 

Falling back to the Activity content view which may not work properly in future versions 
of the API. 
Use setViewForPopups() to set your content view. 

ho chiamato setViewForPopups() dall'interno l'attività miei popup non vengono visualizzati in, però non li ho mai visti.

Come si chiama setViewForPopups() in modo che l'intera applicazione non visualizzi i messaggi di AVVERTENZA mostrati sopra?

risposta

5

ho trovato una soluzione, utilizzando questo codice

 Games.setViewForPopups(getApiClient(), getWindow().getDecorView().findViewById(android.R.id.content)); 

posso ottenere i popup per mostrare. Ora ho un problema correlato. Il popup non viene visualizzato per molto tempo.

Penso che questo sia dovuto al fatto che ho un'animazione personalizzata in questa attività.

C'è un modo per aumentare quanto a lungo un popup è visibile?

+0

Dove stai usando questo codice? Ho lo stesso avvertimento ma l'unico posto in cui trovo questo metodo utilizzato nel mio progetto è nella classe Games dalla libreria GPS. Dovrei usare questo codice manualmente da qualche parte in BaseGameActivity? Grazie. – middlehut

+1

io chiamo questo codice all'interno del metodo signInSuccessful. – Hector

3

Questo ha funzionato per me.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Log.d(TAG, "onCreate"); 

    setContentView(R.layout.activity_main); 

    // Create the Google API Client with access to Plus, Games and Drive 
    // Also set the view for popups 
    mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext()) 
      .addConnectionCallbacks(this) 
      .addOnConnectionFailedListener(this) 
      .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN) 
      .addApi(Games.API).addScope(Games.SCOPE_GAMES) 
      .addApi(Drive.API).addScope(Drive.SCOPE_APPFOLDER) 
      .setViewForPopups(findViewById(android.R.id.content)) 
      .build(); 

} 

android.R.id.content ti dà l'elemento principale di una visione, senza dover conoscere la sua effettiva nome/tipo/ID. Partenza Get root view from current activity

Problemi correlati