react-native-call-detection icon indicating copy to clipboard operation
react-native-call-detection copied to clipboard

Not Work in Android 12

Open EHRdev opened this issue 2 years ago • 13 comments

Hello, I have been using the library for a long time and it is a great tool.

But yesterday my phone was upgraded to Android 12 and it seems it needs additional permission:

MicrosoftTeams-image

EHRdev avatar May 19 '22 15:05 EHRdev

Hello, I have the same problem, did you find a solution?

gusapc avatar Jun 07 '22 17:06 gusapc

I'm sorry, I found the solution but it's in native language (Java), since I'm not good at that language I haven't been able to adapt it in React Native, I was hoping that the creator of the library would help us.

SOLUTION IN JAVA: https://stackoverflow.com/questions/71285519/telephonymanager-listen-not-working-after-targetsdkversion-is-set-to-31-or-andro

EHRdev avatar Jun 07 '22 17:06 EHRdev

@EHRdev thanks for the SO link, here's a patch that incorporates it: https://gist.github.com/computerjazz/a2214c50b36cbb81f4a64e3405e9b60d

computerjazz avatar Jun 16 '22 21:06 computerjazz

@EHRdev thanks for the SO link, here's a patch that incorporates it: https://gist.github.com/computerjazz/a2214c50b36cbb81f4a64e3405e9b60d

woooow bro, thank you very much, this is really great, thanks for sharing, I would never have been able to do it myself.

I had the opportunity to try it and it no longer gives an error <3, however it does not detect the events (Offhook, Disconnected, etc.), I use the code as it is in the documentation:

startListenerTapped = () => {
    this.callDetector = new CallDetectorManager((event, phoneNumber)=> {
      if (event === 'Offhook') {
        console.log('Offhook')
      }
      ...
}

EHRdev avatar Jun 22 '22 03:06 EHRdev

as of android SDK 31 you now also need to request READ_PHONE_STATE permission or else this will silently fail/noop. See the end of the linked SO post: https://stackoverflow.com/a/71789261

you may need to install react-native-permissions or a similar package.

computerjazz avatar Jun 22 '22 03:06 computerjazz

as of android SDK 31 you now also need to request READ_PHONE_STATE permission or else this will silently fail/noop. See the end of the linked SO post: https://stackoverflow.com/a/71789261

you may need to install react-native-permissions or a similar package.

I really appreciate the help friend, hopefully the creator of the library can apply the patch soon

EHRdev avatar Jun 22 '22 20:06 EHRdev

I have just encountered this problem today, I used the patch suggested and it worked. However, I wonder why this patch was never applied and a version 1.10.0 was not delivered and that also this issue is closed?

dprevost-LMI avatar Jun 30 '22 00:06 dprevost-LMI

I have just encountered this problem today, I used the patch suggested and it worked. However, I wonder why this patch was never applied and a version 1.10.0 was not delivered and that also this issue is closed?

Apparently the library's creator abandoned the project, android 12 has existed since last year with this problem and a few days ago the master computerjazz was the one who created the patch, I closed the issue myself because it solved the problem, but you're right, there should be a patch 1.10 that I doubt will arrive soon

EHRdev avatar Jun 30 '22 01:06 EHRdev

Bro I am getting error in ContextCompat

`D:\munish\Desktop\Invictus\jra\node_modules\react-native-call-detection\android\src\main\java\com\pritesh\calldetection\CallDetectionManagerModule.java:60: error: cannot find symbol telephonyManager.registerTelephonyCallback(ContextCompat.getMainExecutor(reactContext), callStateListener); ^ symbol: method getMainExecutor(ReactApplicationContext) location: class ContextCompat Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. 1 error

FAILURE: Build failed with an exception.`

Invictus-Munish avatar Sep 12 '22 06:09 Invictus-Munish

telephonyManager.registerTelephonyCallback(reactContext.getMainExecutor(), callStateListener);

Vantam1601 avatar Oct 18 '22 07:10 Vantam1601

@priteshrnandgaonkar would you mind pushing the update to npm if I prepare it or give me push access to the npm repo? https://www.npmjs.com/~marces

marcesengel avatar Nov 21 '22 10:11 marcesengel

@EHRdev what device are you using? because I also got an error in Crashlytic about that, but when I tried to reproduce it in the emulator it didn't happen

imamrobani avatar Sep 14 '23 13:09 imamrobani

Again not working for Android 13 (API=33). READ_PHONE_STATE permission is always never_ask_again for this version.

saurabh-sentieo avatar Oct 24 '23 23:10 saurabh-sentieo