0

I have a app named com.example.free. and when user download the app named com.example.paid from play store which is 4 to 5 KB, it must enable free apps paid features. Can anyone has solution for this?

EDIT: you can see this feature in CamScanner app. but how they do it. Without using Content Provider.

Asif Patel
  • 1,744
  • 1
  • 20
  • 27
  • StackOverflow is not a reverse engineering service. What makes you think the CamScanner app isn't using a Content Provider or more likely a server to authenticate purchases (as it appears to have a subscription option) – Morrison Chang Apr 14 '18 at 06:35

2 Answers2

1

Another way would be the unlocking app provide a Content Provider where each client app would look to and confirm purchase.

Also see: How to restrict content provider data across applications

Note that using a server for providing 'unlock' feature keys improves the anti-piracy as both the unlocking app and the client app can be accessed on rooted devices.

Morrison Chang
  • 11,691
  • 3
  • 41
  • 77
0

A common and probably better solution to enable paid app features is to implement an in-app purchase. Barring that, you could try getting a list of the currently installed packages on the device and check for your paid app. For example:

List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
for (PackageInfo packageInfo : packages) {
    if (packageInfo.packageName.equals("com.example.paid")) {
        // Unlock paid features
    }
}
rjr-apps
  • 352
  • 4
  • 13