2017-08-22 286 views
1

我有一個活動正在偵聽USB_DEVICE_ATTACHED廣播意圖,當用戶插入我的USB設備並選擇我們的應用程序時啓動。我的問題是android主機設備每天重新啓動一次(通常在凌晨4點左右),此時連接的USB_DEVICE_ATTACHED意圖也會自行啓動。重新啓動後阻止USB_DEVICE_ATTACHED啓動應用程序

在這種情況下,我絕對不想開展我的活動,因爲它不知道如何關閉自己。我怎樣才能防止這種情況發生?我試圖使用PowerManager.isScreenOn()布爾值不啓動我的活動(目標是API 17),但它認爲屏幕確實在打開。

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { 
     if (powerManager.isInteractive()) { 
      startActivity(intent); 
     } 
    } 
    else{ 
     //noinspection deprecation 
     if (powerManager.isScreenOn()) { 
      startActivity(intent); 
     } 
    } 

回答

1

我不認爲你有足夠的信息,以確定是否USB_DEVICE_ATTACHED廣播是由於您的用戶堵漏的東西,或者設備重啓本身。

我會做的是在任何情況下啓動Activity並讓Activity自己關閉,如果用戶在一段時間內(1分鐘或10分鐘或其他)沒有執行任何操作。

+0

是的,我在想這些方面。好吧! –

+0

嘿,務實的解決方案仍然是解決方案! :-) –

相關問題