所以我想制作一个加载了全部功能的免费应用程序。在应用程序检测到许可的专业密钥之前,专业功能将被禁用。当然,我想让 pro key 使用 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 一样。