我想在我的Android应用中收听APN更改。
因此,我在android.intent.action.BOOT_COMPLETED
上启动服务。
该服务启动一个ContentObserver,侦听对content://telephony/carriers/preferapn
。
我在几种不同的设备上测试了此设置(例如,装有Android 5.0的LG Spirit,带有6.0的三星A3,带有7.0的Emulator Nexus5和带有7.0的Huawei P9 Lite)
在我的服务的华为电话onCreate
上没有被呼叫。
我将android.intent.action.ANY_DATA_STATE
与在清单中注册的BroadcastReceiver
结合使用的其他方法在此手机上也无法使用。
我清单的相关部分:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
...
<receiver android:name=".ConnectivityChangeReceiver">
<intent-filter>
<action android:name="android.intent.action.ANY_DATA_STATE" />
</intent-filter>
</receiver>
<receiver android:name=".APNChangedServiceStarter" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
</intent-filter>
</receiver>
<service android:name=".APNChangedService"></service>
最佳答案
华为电话具有内置的启动管理器,可能是该应用尚未启用。
转到“设置”>“全部”,然后选择“启动管理器”。
该程序用于管理Android手机上的启动应用程序。
华为手机启动后,允许或禁止应用自动运行。