Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "has carrier priviliges" means in android 5.1.1

I am trying to develope an android application who communicate with SIM card (Android 5.1.1). When using some methods (example : iccOpenLogicalChannel), they said in documentation that I should have carrier privileges app to use this method, i am wondering what they mean exactly ? May someone tell me how i can get "carrier privileges" ?

like image 492
DGz Avatar asked Jul 06 '15 08:07

DGz


People also ask

What is the latest Android version?

Android 12 is designed for your safety. With new easy-to-use, powerful privacy features, you'll have peace of mind knowing that you have control over who can see your data and when.

What does compatible with Android mean?

Because Android is an open source project, any hardware manufacturer can build a device that runs the Android operating system. Yet, a device is "Android compatible" only if it can correctly run apps written for the Android execution environment.

Can my device run Android 10?

Android 10 is available for Pixel 3/3a and 3/3a XL, Pixel 2 and 2 XL, as well as Pixel and Pixel XL.


2 Answers

There are new APIs in 5.1.1 to allow carrier-developed apps, distributed through Google Play, to perform network provisioning tasks and other functions in the telephony system. Communicating directly with the network interface is now possible via an app with "carrier privileges."

As Google explains:

These APIs provide a secure and flexible way for carrier-developed apps to perform these tasks and be distributed through Google Play. Apps that use these functions must be signed by a certificate that matches the certificate in the device's Universal Integrated Circuit Card (UICC). The carrier service APIs have been added to the TelephonyManager class, the SmsManager class, and the new CarrierMessagingService class. Apps can check for access to these APIs by calling the hasCarrierPrivileges() method. Apps that call these APIs without access receive a SecurityException.

So far what I understand, the carrier privileges are set by the carrier operators and without the certification from the carrier you won't be able to access the methods.

Source: https://developer.android.com/about/versions/android-5.1.html

like image 151
Prokash Sarkar Avatar answered Oct 04 '22 16:10

Prokash Sarkar


To put it simply, you can not get a certificate that matches that of a certificate on a UICC/SIM. There are ways to work with the carriers to build applications. If you are interested please feel free to contact me I can guide you through it. I work for T-Mobile on the SIM team and am happy to help!

like image 23
Jesse James Avatar answered Oct 04 '22 15:10

Jesse James