试图更改运营商名称

时间:2016-11-15 16:11:40

标签: android

我正在尝试更改运营商名称(显示在左上边框的名称)。

我是Android Studio的新手,所以每个提示对我都有用......

public void enviar(View v)
{
// Get System TELEPHONY service reference
TelephonyManager tManager = (TelephonyManager) getBaseContext()
        .getSystemService(Context.TELEPHONY_SERVICE);

tManager.hasCarrierPrivileges();
// Get carrier name (Network Operator Name)
String nom = "DESIRED CARRIER NAME";
tManager.setOperatorBrandOverride(nom);
String carrierName = tManager.getSimOperatorName();

//TESTING THE CARRIER NAME
TextView tv = (TextView) findViewById(R.id.textView);
tv.setText(carrierName);

}}

“enviar”设置在XML

中的按钮上
android:OnClick="enviar"

我也需要设置APN,只需点击此按钮即可。看起来很简单。一个定义我自己的APN和运营商名称的按钮。我不知道是否需要Root Access ...

谢谢你们!

2 个答案:

答案 0 :(得分:2)

第一个问题是你实际上并没有使用tManager.hasCarrierPrivileges()的结果。该方法返回一个(非常重要的)布尔值,告诉您是否真的能够执行任何运营商操作,例如更改运营商品牌。

第二个问题是你必须真正成为拥有运营商权限的运营商。通过验证您的应用的签名证书是否在the phone's UICC来检查。我假设你不是承运人,因为你问的是这个问题。

由于UICC是在ROM级别配置的,因此即使使用sudo访问,也不太可能插入自己的密钥。

另请参阅:Sign App with UICC Carrier Privileges Certificates

答案 1 :(得分:1)

问题是您需要在您的应用程序(运营商应用程序)中拥有运营商权限,或者您需要编译自己的AOSP。

要修改apn,您需要将应用程序安装为系统应用程序。