Отключить строку кода в приложении для Android, если подпись проверена?

#java #android

#java #Android

Вопрос:

Я пытаюсь отключить рекламу в своем приложении, если обнаружу, что установлено другое из моих (платных) приложений. Вот мой код:

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    PackageManager manager = getPackageManager();

    if (manager.checkSignatures("com.example.appone", "com.example.apptwo") == PackageManager.SIGNATURE_MATCH == false) {
        AdView adView = (AdView)this.findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        adView.loadAd(adRequest); 
    } else {

    }

    // code continues here
}
  

Тем не менее, реклама всегда включена. Я не могу заставить их отключиться — никогда. Я PackageManager неправильно позвонил? Или я просто не согласен с этой идеей?

Комментарии:

1. Проверка должна быть просто: if (manager.checkSignatures("com.example.appone", "com.example.apptwo") == PackageManager.SIGNATURE_MATCH) . Не так ли?

2. если (manager.checkSignatures(«com.example.appone», «com.example.apptwo») != PackageManager. SIGNATURE_MATCH)

3. или == SIGNATURE_NO_MATCH

4. Хорошо, я изменил его на предложение @ben75, и он по-прежнему показывает рекламу. Что бы ни случилось, он показывает рекламу.

5. Вы уверены, что оба ваших приложения установлены с одним и тем же ключом (т. Е. Ключом отладки с того же компьютера или одним и тем же ключом выпуска, но не ключом отладки и ключом выпуска)?