Ho creato una semplice app che ha bisogno (sì lo fa davvero) di mostrare un avvertimento immersivo. L'ho implementato con un'attività lanciata da un servizio. La maggior parte delle volte mostra correttamente, ma a volte quando il wearable è inattivo non lo fa. onStart() e onResume() vengono eseguiti ma la vista non viene visualizzata sullo schermo. Qualche idea ?La mia attività non viene visualizzata su Android Wear
(Questo è in una marcia Android dal vivo da I/O)
E 'innescato da un servizio da:
Intent i = new Intent(MyService.this, MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setAction("disconnected");
startActivity(i);
Parte del codice attività: impostazione
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("MyActivity", "onCreate");
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON|
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
WindowManager.LayoutParams.FLAG_FULLSCREEN |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
setContentView(R.layout.activity);
disconnectedView = (TextView)findViewById(R.id.disconnectedView);
}
@Override
protected void onStart() {
super.onStart();
Log.d("MyActivity", "onStart");
}
@Override
protected void onResume() {
// Corrected after comment from MikeC
//super.onStart();
super.onResume();
Log.d("MyActivity", "onResume");
if (getIntent().getAction() != null && getIntent().getAction().equals("disconnected"))
startVibration();
}
Perché il tuo onResume chiama super.onStart()? – MikeC
Auch, non dovrebbe. Sfortunatamente non era questo il vero problema. Vedo ancora lo stesso comportamento. Ma grazie per il tuo aiuto. – frma71
Si prega di aggiornare il codice per correggerne uno (senza super.onStart()). Inoltre mostra la notifica (sul telefono)? Oppure non funziona solo su Wear? –