CallHistory Extension [FREE]

Introduction

This Extension returns Call Logs based on their Key.
This Extension only works when compiled as an APK. It does not work with the Companion.

This extension is the result of a collaboration between @Salman_Dev and @Leul_Melaku.
The extension is distributed and maintained by @Leul_Melaku.

Created by @Salman_Dev

Idea by @Leul_Melaku

Blocks

blocks (1)

Usage

The first thing you have to do is ask for permission,
when permission is granted then you can run the extension.
Permission Name : android.permission.READ_CALL_LOG
Example Blocks :

blocks (2)

Second, if you want to run the extension,
you have to put the (call CallHistory1.Get) Block into the (for each item in list) Block ,
Because (call CallHistory1.Get) Block returns a list.

For Example :

blocks

After that, the item to be given contains a YailDictionary,
so you have to retrieve the value from within that item using a key.

Available Key :

blocks (2)

Example to get value from item with key :

blocks (2)

If you want to retrieve the value from the "Type" key you have to do this :

Screenshot (16)

Because the value to be returned from the "Type" key is a constant value.
look at the constant value here :
https://developer.android.com/reference/android/provider/CallLog.Calls#TYPE

To retrieve the value from the "DateTime" key with the date & time format you want,
you can set it using this block :

blocks (3)

Download

[com.Leul_Melaku.CallHistory.aix (7.9 KB) ]
[Example1.aia (10.4 KB) ]

10 Likes

The extension example does not run on a 4.2 Android cell when compiled and loaded. :cry:
CallHistoryexample

It also does not work with an Android 5.1 cell CallHistoryAnddroid5.1

I do. @Salman_Dev I asked whether the extension worked on 4.2 OS before in pre release of the extension; Salman said it was tested to work on all Androids. There is a reason specific questions are asked.

2 Likes

Okay that's my mistake. @SteveJG I'm so sorry, actually that extension can only work on the new android version. Because older versions usually use managedQuery to retrieve data from
call logs, and my code doesn't use managedQuery because it's deprecated,
see this:
https://developer.android.com/reference/android/app/Activity#managedQuery(android.net.Uri,%20java.lang.String[],%20java.lang.String,%20java.lang.String[],%20java.lang.String)

It cannot work on Android 4.2 and Android 5.1 but it can on only Android 11?

Will it work on Android 6 or 7 or 8 or...

I tested this extension for the first time on my Android version 8.0.0 and it works :sunglasses:

Hi all,
I've tested your extension with the example project provided and it works properly.
but when I try to copy same instructions into another blank project I get permission grant error:

Error 908: The permission android.permission.READ_CALL_LOG has been denied. Please enable it in the Settings app.

I don't understand what is wrong with this new example.

any hint?

thank you.

testPermission.aia (8.6 KB)

1 Like

Hi @beppeg welcome to our community!


I've seen the project that you shared and I think what caused the problem to arise is because there are spaces in the android.permission.READ_CALL_LOG

Screenshot 2021-11-19 093839

2 Likes

thank you!
now it works, i couldn't figure out... :laughing:

1 Like