#android #service #telephonymanager
Вопрос:
Если я пытаюсь получить TelephoneManager.getAllCellInfo() внутри службы БЕЗ запуска приложения (после завершения загрузки телефона — запуск службы по событию) TelephoneManager.getAllCellInfo() возвращает значение null.
Это служба переднего плана, и у нее есть этот манифест:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.signalsense.signalsense_library">
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application>
<service android:name="com.signalsense.signalsense_library.NetworkCollectionService"
android:foregroundServiceType="location"
android:enabled="true"
android:exported="true"/>
</application>
</manifest>
Но если я запущу эту службу с помощью приложения (например, нажав на приложение — оно тоже автоматически запускает службу), все работает нормально.
Код запуска службы равен. Я этого не понимаю. Может быть, есть какие-то ограничения для доступа к getAllCellInfo() без приложения? Может быть, это потому, что разрешение «ACCESS_FINE_LOCATION» опасно, оно дано для приложения и будет работать только с приложением? Пожалуйста, помогите!