2

我有一個具有推送通知功能的應用程序。我注意到一些設備特別是中國手機像xiamoi,oppo,一個插件 s等具有選項自動啓動和這個控制推送通知。我沒有得到推送通知時,應用程序是不是在後臺或在最近list.By默認我應用程序自動啓動關閉Android:自動啓動問題導致沒有獲得推送通知

但感到困惑,爲什麼應用程式,例如Flipkart,亞馬遜,WhatsApp的,加息自動啓動是默認開啓

是否有任何選項缺省設置自動啓動爲ON

+0

遺憾的是沒有。沒有這樣的選擇。雖然你可以做的是對於一些設備有一個黑客來打開它的安全中心。請參閱此所以[線程](https://stackoverflow.com/questions/34149198/how-to-enable-auto-start-for-my-app-in-xiaomi-programmatically) – ADM

+0

@ADM在踩點顯示如何通過使用意圖來顯示自動啓動頁面,並且各自制造不同的。此外,在我們繞過自動啓動頁面之前,沒有選擇天氣自動啓動是開啓/關閉。所以我認爲它不是一個正確的解決方案。您可以在全新安裝時檢查whatsapp和Flipkart,默認情況下不啓動自動啓動頁面,自動啓動爲開啓。我試圖找到這樣的解決方案 –

+0

是的,這是我經過這麼多搜索後發現的。沒有這樣的Api來檢查自動啓動狀態是否開啓/關閉。談到flipkart或其他應用程序的whatsApp我讀了一些由製造商列出的白色應用程序。您可以在Skype Lite應用程序中查看它。在xiaomi下載它會做同樣的事情。它會將您發送到設置屏幕,您可以繞過它。該應用程序不會做任何事情。 – ADM

回答

0

我認爲,更好的辦法是使用默認的Android API功能啓動後,運行服務,而不是使用自定義功能,如在中國的手機使用。 要通過Android默認方式autrun,您應該添加到mainfest:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

<receiver 
     android:name=".BootReceiver" 
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
</receiver> 

而寫的引導接收器:

public class BootReceiver extends BroadcastReceiver { 

    public BootReceiver() { 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Run your service here 
    } 
} 
+0

在xiamoi「RECEIVE_BOOT_COMPLETED」不會上課。 –