Assaf Dahary
Jan 23, 2019
11:16 am

Denied app PHONE_STATE permission in Knox workspace

I have an app that listen to the regualr phone dialer incoming and outgoing calls and then takes actions.  

The app works perfectly in the personal area.

The same exact app when installed in the Knox container area cause permission denial error like:

“W/BroadcastQueue: Permission Denial: receiving Intent { act=android.intent.action.PHONE_STATE flg=0x1000010 (has extras) } to com.confidentialtele.call/.service.IncomingCallReceiver requires android.permission.READ_PRIVILEGED_PHONE_STATE due to sender android”.

The error occures only on outgoing calls.

The app was installed in the workspace (either by remotely by EMM or locally on device) with all required permissions (Telephony permission) and still causing the above error.

I’ve also set ALLOW to any app restriction in the Knox profile.

Please advise how to resolve this issue.

*I’m the developer of the app.

Regards

Assaf

Similar topics

No similar topics found.
Mikayla N.Samsung SEAP Moderator
Jan 28, 2019
11:21 pm

Hi Assaf,

I was not able to completely recreate your issue. I ran an app that created a log statement with the phone number invovled in a phone call on any incoming or outgoing call (eg. "Incoming call from +17395559274") on a Note8 running Android 8.0 and Knox 3.1. When I ran this app inside and outside of a container I was able to see the phone number and whether the call was incoming or outgoing, even though I also received the same permission denial error you did. The difference in outcomes could be due to the device you are running this on. Could you please provide me with the device model, Android version, Knox version, and build number of the device you are testing on?

As well, make sure you have manually enabled the phone permission for your app inside the container, by going through the container settings. The phone permission was not automatically enabled when I installed my app.

Best regards,

Mikayla

Assaf Dahary
Jan 29, 2019
3:00 pm

Mikayla,

I'm also using Note8 Android 8.0 and Knox 3.1 for this issue.

I've also tested it on Note5 Android 6.0.1 and today also on the S9 with Android 9.0 and Knox 3.2.1 (the latest).

I checked all permissions automatically or manually from the EMM and verified that all of them are switched-on in the phone/apps/app-info. 

I also listed the app package in the emm/knox/container/application 'Application installation whitelist setting'.

The problem still preventing my app to be notified on the outgoing dialed number.

I also setup the app installion in both general and knox with same permissions setup - and it worked only in the general are.

Could you please share your app permission part of the AndroidManifest.xml file and the relevant broadcast listener for the outgoing dialed number?

Thanks for your help.

Regards

Assaf   

Mikayla N.Samsung SEAP Moderator
Feb 08, 2019
12:48 am

Hi Assaf,

Sorry for the delay in replying. My app permissions are: 

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />

I found the code for my broadcast receiver by searching "phone call receiver android." Unfortunately, I am not allowed to directly link to outside sources, so you will have to search for the code yourself. Please let me know if there is anything else I can do to help you.

Best regards,

Mikayla

Comments

Mikayla,

My code is also using these permissions with no help.

The thing that I do not understand is that you get the same permission error ( ''even though I also received the same permission denial error you did'') and it still working for you.

I'll try to investigate furthere.

Thanks for your help.

Regards

Assaf

Assaf DaharyFeb 10, 2019 at 9:42 am