1

我有一個活動,可以在特定時間喚醒屏幕並打開YouTube應用程序,我可以打開屏幕,但如果我在YouTube應用程序中添加了startActivity,它不會打開( YouTube應用程序啓動,但屏幕保持關閉狀態)。如何打開屏幕並打開youtube應用程序並保持屏幕打開?

​​3210

,如果我只是運行代碼以打開屏幕 - 它,如果我只是運行代碼來啓動YouTube應用 - 它,如果我把兩者屏幕沒有開啓,但YouTube應用程序啓動。我在猜測,因爲一旦YouTube應用啓動後,屏幕上的活動就會被銷燬/暫停 - 在這種情況下,屏幕會關閉(即使我看不到它打開)。

我說得對,問題是什麼?如果是這樣怎麼辦?

+0

嘗試添加處理程序以延遲YouTube應用的啓動。通過這種方式,您的屏幕就會打開,並在YouTube應用啓動時保持清醒 –

回答

0

作爲一個工作周,正如我在評論中所說的,您可以添加一個處理程序來延遲YouTube應用的啓動。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 
        | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
        | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON 
        | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON 
     |WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON); 

    String path = "https://www.youtube.com/watch?v=63pKwVE4Uog"; 
    Uri uri = Uri.parse(path); 
    uri = Uri.parse("vnd.youtube:" + uri.getQueryParameter("v")); 
    Intent i= new Intent(Intent.ACTION_VIEW, uri); 
    i.addFlags(FLAG_ACTIVITY_NEW_TASK); 
    new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      startActivity(i); 
     } 
    }, 2000); 
}