Android Question The app is not recognized as a dialer in Android 13 and above

S.M.R

Member
Hello
I added the following code to the manifest so that the app can be selected as the default dialer of the phone and perform dialing operations.
By the way, I also entered the necessary permissions

But as long as I set the target to 32, everything is fine, but if I set the target to 33, the app is no longer recognized as a dialer, and it seems that these codes do not work!!!

Does anyone know what the problem is?

Manifest code:
AddActivityText(Main,
            <intent-filter>
                <!-- Handle links from other applications -->
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.DIAL" />

                <!-- Populate the system chooser -->
                <category android:name="android.intent.category.DEFAULT"/>
        
                <!-- Handle links in browsers -->
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="tel" />
            </intent-filter>
    
            <intent-filter>
                <action android:name="android.intent.action.DIAL" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
    )
 

DonManfred

Expert
Licensed User
Longtime User
Did you configure your device and set your app as the device default dialer in the settings?
 
Upvote 0

S.M.R

Member
Did you configure your device and set your app as the device default dialer in the settings?
I have described the problem exactly
The problem is that if I set the target to 33 in the manifest, the application is no longer recognized as a dialer, but if the target is less than 33, everything is fine!!!!
 
Upvote 0

S.M.R

Member
I think this may be a b4a bug problem

Because as long as the targetSdkVersion is equal to 32, everything works correctly, but when we set the targetSdkVersion to 33, this problem occurs.

As if <intent-filter> doesn't work!
 
Upvote 0

OliverA

Expert
Licensed User
Longtime User
Maybe you need to add more permission declarations in the Manifest. According to Android Docs, your app needs:

android.permission.MANAGE_OWN_CALLS

Someone on stackoverflow.com ran into similar issues and they also added:

android.permission.READ_PHONE_STATE
This one needs an additional runtime permissions request.

I would go with the MANAGE_OWN_CALLS first and then add READ_PHONE_STATE if it still does not work.

Links:
Android Doc: https://developer.android.com/develop/connectivity/telecom/dialer-app
stackoverflow.com: https://stackoverflow.com/a/76227060
 
Upvote 0
Top