Так что я хотел бы сделать бесплатное приложение с загруженной полной функциональностью. Функциональность pro будет отключена, пока приложение не обнаружит лицензионный ключ pro. И, конечно же, я хотел бы, чтобы профессиональный ключ проверил его лицензию с использованием LVL. До тех пор, пока я знаю, как все делать правильно, я не знаю, как заставить Pro-ключ связываться с приложением, чтобы оно включало функцию Pro.
Вот основной код приложения (com.test.mainapp):
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = getApplicationContext();
final PackageManager pacman = getPackageManager();
final int signatureMatch = pacman.checkSignatures(getPackageName(),
"com.test.mainapp_key");
if (signatureMatch == PackageManager.SIGNATURE_MATCH) {
Toast.makeText(context, "Pro key detected!", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(context, "Free version", Toast.LENGTH_SHORT).show();
}
}
Несмотря на то, что это мешает другим создавать поддельные ключи для моего приложения, они все равно могут делиться приложением с ключами онлайн, и оно будет работать. Поскольку мы не можем выполнить проверку LVL из другого приложения, я бы хотел, чтобы приложение с лицензионным ключом проверило свою собственную лицензию, и если она правильная, только тогда пользователь получит профессиональную функциональность. Как сделать так, чтобы приложение с лицензионным ключом и основное приложение взаимодействовали друг с другом следующим образом?
Функциональность, которую я пытаюсь получить, аналогична, например, для Titanium Backup.