Why does the Phone Call component ask for call logs permission?

I want to be able to call a certain contact, so I used the component: Phone Call, I do not understand why this component requests permission for call logs, because to call you need permission only to the phone.

1 Like

but Docs says it needs only these permissions, not call logs,

2 Likes

I’ve tested it already, I have prepared an application that has only the Phone Call component, and that is the permission shown:

2 Likes

The phone call component is used for calling another device. And according to android developer website building a calling app requires you to declare the READ_CALL_LOG in the manifest.
I don’t know why it’s not listed in the Kodular docs or even I can be wrong in understanding something.

Meanwhile I think you can use the activity starter method below

4 Likes

probably @KodularCreator likes to update the documentation?
Taifun

4 Likes

Just checked, it’s not declared in manifest, @Point what android version was this tested on?

However, I suspect this, since it doesn’t ask on android 7 but does on android 9
https://developer.android.com/reference/android/Manifest.permission_group.html#CALL_LOG

2 Likes

Yes, but the permission READ_CALL_LOG must be declared in the Manifest in order to be able to ask for it.

However, since the query appears, the question remains, which component / extension has it declared in the Manifest (of course not the Phone Call component).

2 Likes

That’s a conditional permission
It only gets added if a specific block is in use

I forgot to make the script work with them. Will try to do soon

2 Likes

Which block should it be that adds this permission to the Manifest?

grafik

I think I used all blocks and the permission is NOT declared in the Manifest.

https://developer.android.com/about/versions/pie/android-9.0-changes-all

Restricted access to call logs

Android 9 introduces the CALL_LOG permission group and moves the READ_CALL_LOG , WRITE_CALL_LOG , and PROCESS_OUTGOING_CALLS permissions into this group. In previous versions of Android, these permissions were located in the PHONE permission group.

This CALL_LOG permission group gives users better control and visibility to apps that need access to sensitive information about phone calls, such as reading phone call records and identifying phone numbers.

If your app requires access to call logs or needs to process outgoing calls, you must explicitly request these permissions from the CALL_LOG permission group. Otherwise, a SecurityException occurs.

1 Like

… why is this declared in the Manifest:

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

Nothing I found in my manifest file, how did you obtained that?

I tested it on Android 9 (Galaxy Note 8),
and I only added this block to the test application:

You’re late with your answer

As I said:

I tested on the same device and get no READ_CALL_LOG request:
grafik

Which other components / extensions are you still using?
(post your aia or apk)

Try this one PhoneCallTestKodular.apk (4.7 MB)

What can we learn from this?

The same permissions as in my test apk:

<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

Do you get any log request