在 Lollipop 上启动 APN 设置活动

use*_*724 3 android apn

我正在尝试从 Lollipop 中的测试应用程序启动 APN 设置活动。

我使用了以下代码:

Intent sendIntent = new Intent(Settings.ACTION_APN_SETTINGS);
Run Code Online (Sandbox Code Playgroud)

启动 APN 设置活动。

活动正在启动,但屏幕上没有显示任何 APN 列表。

相反,它显示为:

接入点名称设置对该用户不可用

以下是日志:

来自测试应用程序:

I/ActivityManager(798): START u0 {act=android.settings.APN_SETTINGS flg=0x10000000 cmp=com.android.settings/.Settings$ApnSettingsActivity} from uid 10066 on display 0
I/ActivityManager(798): Start proc 3273:com.android.settings/1000 for activity com.android.settings/.Settings$ApnSettingsActivity
I/ActivityManager(798): Displayed com.android.settings/.Settings$ApnSettingsActivity: +487ms
Run Code Online (Sandbox Code Playgroud)

从设备设置:

I/ActivityManager(798): Displayed com.android.phone/.MobileNetworkSettings: +395ms
I/ActivityManager(798): START u0 {act=android.settings.APN_SETTINGS cmp=com.android.settings/.Settings$ApnSettingsActivity (has extras)} from uid 1001 on display 0
I/ActivityManager(798): Displayed com.android.settings/.Settings$ApnSettingsActivity: +190ms
Run Code Online (Sandbox Code Playgroud)

我发现的唯一区别是它有额外的功能......

extra 中应该包含什么?

我希望,我会得到回应..

use*_*724 5

我通过以下方式找到了解决方案..

正如我在查询中提到的,区别在于“有额外的功能”。

sendIntent.putExtra("sub_id", SubscriptionManager.NAME_SOURCE_SIM_SOURCE);

这个SubscriptionManager类是5.1中引入的,问题只出现在5.1中。

我希望它能帮助你...