ci sono applicazioni (come https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher) che sono liberi, ma le cui caratteristiche pagato può essere attivata con l'acquisto di un'altra applicazione (in questo caso, questo https://play.google.com/store/apps/details?id=com.teslacoilsw.launcher.prime)Come funziona l'acquisto di un'app per abilitare le funzionalità a pagamento di un'altra app?
Come funziona?
La mia ipotesi è che le app gratuite lanciano un Intent esplicito e possono rilevare se l'app è presente tramite una struttura try/catch. Lo svantaggio di questo è che questo potrebbe essere facilmente aggirato da qualcuno che crea un'app con lo stesso nome di pacchetto e specifica tutti i possibili filtri Intent.
È così che funziona, o è un altro modo?
Può essere aggirato se creo un'app con lo stesso nome di pacchetto e che risponda allo stesso intento? Non pubblicare, ma solo per installare localmente per abilitare le altre funzionalità dell'app. – zundi
Aggiornamento della risposta –
'PackageManager.checkSignature()' era quello che stavo cercando. Restituisce 'true' se entrambi sono firmati dallo stesso certificato, il che significa che non è facilmente aggirabile, anche se hai il codice sorgente dell'altro app. Grazie – zundi