2014-07-06 32 views
5

göstermez Ben basit bir uygulama yaptım (evet gerçekten yapar) sürükleyici bir uyarı göstermek için. Bunu bir hizmetten başlatılan bir etkinlikle gerçekleştirdim. Çoğu zaman doğru bir şekilde gösterilir, ancak giyilebilirken boşta olduğu zaman olmaz. onStart() ve onResume() çalışır ancak görünüm ekranda gösterilmez. Herhangi bir fikir ?Benim durumum android aşınma

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); 

faaliyetleri kod bazıları:

@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(); 
} 
+0

OnResume'iniz neden super.onStart()? – MikeC

+0

Auch, yapmamalı. Ne yazık ki bu gerçek sorun değildi. Hala aynı davranışı görüyorum. Ama yardımın için teşekkürler. – frma71

+0

Lütfen birini düzeltmek için kodu güncelleyin (super.onStart() olmadan). Ayrıca, bildirim (telefonda) gösteriliyor mu? Ya da sadece Wear üzerinde çalışmıyor? –

cevap

3

deneyin ayarı

O tarafından bir hizmetten tetiklenen

(Bu I'den Canlı bir Android Gear üzerindedir/Ç) Bunun yerine onResume()'daki bayraklar benim için çalışmış görünüyor.

@Override 
public void onResume() 
{ 
    super.onResume(); 

    // Keep awake 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON | 
          WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
} 
İlgili konular