Seeing that the only app that allows to sync your contacts photos is SyncMe, yet it can't sync with WhatsApp (and there is a good reason for this), I've decided to create this app.
What this app does
Its purpose is to sync your contacts photos on the address book with those on WhatsApp.
Requirements and permissions explanation
- WhatsApp app being installed and working well. Tested on version 2.16.306 (build 451445).
- A rooted device. It is needed for getting the HQ contacts images, for auto-granting the other permissions, and for the automation of the entire process.
- Internet connection - allows WhatsApp to download the photos.
- Contacts permissions - the app needs to modify your contacts...
- Phone and usage-access permissions, so that the app could monitor WhatsApp Internet activity.
- Draw on top permission- for allowing to halt the process, and for staying on portrait mode during the process.
Isn't there a non-rooted version?
It is highly possible that I can make one. I started by using accessibility service to handle the automation, and I made it work for a single contact that has a photo.
It will take a long time till I can finish it, but it was a step in the right direction.
However, sadly, Google has recently warned all apps that use accessibility service for purposes that are not for disabled users (many articles about it, including here, here and here) , so for now this work is on hold, till I find out what is really going on.
They might remove the app or even my own Google account, according to these articles. I do not want to take this risk, after so much time working on it.
That being said, I might put here on XDA the app some day. Will take some time though. I may have made progress, but I didn't handle everything that needs to be handled.
In any case, this app is only for rooted devices. If I have non-rooted solution, I'm pretty sure I will make a new app for it.
If you wish, you can star this request I made to Google, to let all users use apps with accessibility functionality, equally, whether the users are disabled or not.
- A good Internet connection
- Android 5.0 and above
- Some users say the app doesn't sync their contacts. I'm still investigating this issue, but for now, you can try to convert all your contacts to be on Google account. Some users said it helped, and some said that moving to another rom helped. Sorry if the app doesn't work for you even after those actions. Hope to find the reason for this.
One user said this helped: backup contacts to vcf file. delete all contacts. Import vcf file in web browser into Google account. Let it sync on device. Use the app.
How it works
It currently only has 3 simple steps:
- grant permissions (needed only once).
- fetch photos.
- sync the photos.
All phases are easy to go by (just press a single button) , and are all automatic and based on things any power user can do anyway, given enough time and patience.
The last step can even be done in the background if you wish.
Do note that as it highly depends on how WhatsApp works, it is possible that one day a new version of WhatsApp will change too much, that it won't work.
If you've found any bug, please let me know.
Why no fully automatic background sync?
This is a bit problematic because :
- it works in the foreground, and not the background
- if you have a lock screen, the app will need to bypass it, which might be an issue.
- it emulates touch operations, so if you are not aware of what's going on, it might have some risks in using it in the background
That being said, maybe I can overcome all of those, but it will take time, and this is a spare time app.
Maybe, at least in the near versions, I can at least allow to show a notification when it seems that there are new updates to contacts that can be synced.
Would it work with modded WhatsApp ?
Maybe, as long as the package name of it is the same as the official one (meaning "com.whatsapp"). Last time I checked the GBWhatsapp app (available here, called "GBWAPlus"), it worked fine with it.
Might not work in the future or on other mods.
Why not support more chatting apps? Telegram? Messenger? Viber? Skype? ...
I've spent an entire week finding what can be done with each of the top chatting apps, and failed to find a way to work with them.
Even Telegram, which is supposed to be open sourced, was found too complex to work with, and even if I did manage to work with it, its terms are that my app should be a chatting app too, with all of the basic features of a chatting app.
This will all take so much more time that I can afford for a spare time app, and it's out of the scope for the app to be a chatting app, just to sync photos.
The app says I don't have contacts. How come?
You probably didn't let it to sync with your address book yet. Let it have the permission it needs (mainly Contacts permission), and then run it, then run my app.
If all fail, uninstall and re-install both apps, and grant the needed permission to both, and then run my app.
The app fails to sync contacts or crashes even before. How come?
There are some issues related to address book that are out of this app's scope and responsibility.
Here are some possible workarounds:
1. One user wrote this:
may be suggest him the way it works for me,export contacts from phone to vcf file,delete contacts from hone,through web, import vcf file to google,through phone sync contacts to google,through phone sync contacts to whatsapp, sync photos with your app
I have "parallel apps" feature (AKA "cloning" of apps) on my phone , allowing multiple instances of apps. Why can't this app work well when it's turned on?
This feature that some devices have is not native Android feature and can cause real issues and break things. Sadly I couldn't find a way to overcome it (wrote about this here)https://stackoverflow.com/q/49930676/878126. It even doesn't work well in general, not allowing you to put widgets of the second one. Same goes for sharing. Please disable it before syncing using my app.
Tested devices and Android versions
Nexus 5X with Android 6.0.1 , Android 7.0 and Android 7.1.1.
HTC One M8 with stock Android 5.0.2
Nexus 6P Android 7.1.1 DP1
asus zenfone 2 lazer (ze550kl) 6.0.1 stock
Moto G3 with 7.0
Nexus 5 with CM13 (Android 6.0.1).
Written on this post.
Contacts Sync, App for the Apps & Games
Last Updated 2017-01-04