2013-07-16 26 views
2

我有一個應用程序,我想作爲用戶在Android設備上啓動後看到的第一個屏幕呈現。目前該應用程序偵聽android.intent.action.BOOT_COMPLETED,並自動啓動(如解釋here)。一切都很好。如何在Android中打開啓動應用程序之前避免主屏幕加載?

問題是,幾乎總是在我的應用程序啓動之前,主屏幕可能會顯示一秒鐘。我知道我可以用我自己的代替啓動程序,但是我的目標是在不干擾用戶選擇的自定義啓動程序的情況下呈現此初始歡迎屏幕。 (我知道用戶對UX的擔憂,現在我只是在看什麼是可能的。)

所以我的問題是:有沒有辦法做到這一點?也許中斷主屏幕的首次發佈,或確保我的應用首先顯示? 如果沒有,是否可以創建一個啓動器應用程序,該應用程序僅在啓動時顯示此屏幕,然後重定向到用戶選擇的啓動器或家庭應用程序?我的預感是接收Intent.CATEGORY_LAUNCHER類別,呈現屏幕(如果還沒有的話),或者如果不發送另一個意圖打開真正的啓動器......我不確定這是否可能。

幫助感謝!

編輯:例如,如果使用this app有相同的問題:自動啓動的應用程序出現在主屏幕後。

+0

這個應用是爲公開發布還是爲了內部使用而製作的? –

+0

爲什麼?在這裏可以做些什麼來改變呢? – Austin

+0

我只是好奇這些應用程序,爲什麼開發人員看起來很難打破潛在的用戶體驗,這就是爲什麼我發表評論,抱歉,如果我惱火你。 –

回答

2

終於找到了它的解決方案,它非常簡單。

所有你所要做的就是將這些行添加到您的AndroidManifest接收器:

<receiver android:name="com.dannywind.delphi.BootReceiver" 
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.HOME"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
     </receiver> 

然後下一次你打開你的應用程序,Android系統會詢問你是否申請想讓您的主屏幕。

希望它適合你。

相關問題