我正在尝试更改运营商名称(显示在左上边框的名称)。
我是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 ...
谢谢你们!
答案 0 :(得分:2)
第一个问题是你实际上并没有使用tManager.hasCarrierPrivileges()
的结果。该方法返回一个(非常重要的)布尔值,告诉您是否真的能够执行任何运营商操作,例如更改运营商品牌。
第二个问题是你必须真正成为拥有运营商权限的运营商。通过验证您的应用的签名证书是否在the phone's UICC来检查。我假设你不是承运人,因为你问的是这个问题。
由于UICC是在ROM级别配置的,因此即使使用sudo访问,也不太可能插入自己的密钥。
答案 1 :(得分:1)
问题是您需要在您的应用程序(运营商应用程序)中拥有运营商权限,或者您需要编译自己的AOSP。
要修改apn,您需要将应用程序安装为系统应用程序。