TelephoneManager.getAllCellInfo() возвращает значение null внутри службы

#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» опасно, оно дано для приложения и будет работать только с приложением? Пожалуйста, помогите!