2016-08-22 74 views
0

似乎導入android信標庫(2.9)aar文件強制應用程序具有「啓動時運行」權限(在清單中添加接收器:org.altbeacon.beacon。 startup.StartupBroadcastReceiver)Android信標庫:如何禁用啓動時運行

一個測試應用程序只想在前臺運行並且不需要在啓動時運行就可以禁用它(並避免在啓動許可時要求用戶運行)?

+0

請你重新制定你的問題,以使其更容易理解 –

回答

1

這是事實,Android的燈塔圖書館將在手機啓動時啓動後臺掃描,但只有如果你的應用程序中的自定義應用程序類的的onCreate方法構造了一個RegionBootstrap對象。這個功能在2.9版本中並不是新功能 - 從2.0開始已經有了。您可以瞭解如何工作here.

有兩種方法來禁用此行爲,取決於你想要什麼具體禁用:

  1. 如果你根本不希望庫掃描電話啓動時的信標,根本不要構造RegionBootstrap

  2. 庫的清單會自動向清單中添加對RECEIVE_BOOT_COMPLETED的請求,以在啓動時啓用掃描。如果你不希望這樣的事情發生,只是這一行添加到您的應用程序的清單,以防止其在獲得合併:

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" tools:node="remove" /> 
    
+0

我想避免詢問用戶「在啓動時運行」權限(對於應用程序不是必需的)。你建議的第一種方法不能解決它(但用MonitorNotifier更改BootstrapNotifier是一個有趣的想法:我應用了它)。嘗試第二種建議「工具:」的方法不被認可。 – Roven

+0

添加了工具名稱空間和「工具」識別。但仍然應用程序需要「在啓動時運行」:-( – Roven

+0

如果您有'tools:node =「remove」'正確應用,應用程序將不需要在啓動時運行,一定是錯誤的要查看您的最終合併清單,請檢查'app/build/intermefests/full/debug/AndroidManifest.xml'並查看BOOT_COMPLETED條目是否不存在,不應該嘗試做一次乾淨的重建 – davidgyoung

相關問題