Moim wymaganiem jest, że aplikacja jest zainstalowana po raz pierwszy na telefonie z systemem Android, trzeba uzyskać kod licencyjny z konkretnego sklepu/organizacji. Utworzyłem klucz generacji za pomocą numeru modelu telefonu. TERAZ PROBLEM JEST Jeśli najpierw musisz tylko wyświetlić ekran licencji, w przeciwnym razie przejdź do pierwszego ekranu. Jak możemy rozpoznać, że konkretna aplikacja jest już zainstalowana lub nie . / z rejestru ? Tutaj dostępny jest rejestr.

Nie mogłem zgłębić mojego bardzo głęboko ani wyraźnie. Przepraszam za to.

Proszę pomóż mi.

Z góry dziękuję...

1
Piraba 26 lipiec 2011, 14:56
Możesz użyć czegoś takiego. stackoverflow.com/questions/5905240/…
 – 
sealz
26 lipiec 2011, 15:01
To jest coś innego niż moje wymagania. Muszę pobrać identyfikator/nazwę aplikacji lub coś w tym rodzaju?
 – 
Piraba
26 lipiec 2011, 15:06
Dzięki harper89 . Działa dobrze. Masz rację.
 – 
Piraba
26 lipiec 2011, 15:15

2 odpowiedzi

Najlepsza odpowiedź

Zawsze możesz ustawić wartość bool w android.content.SharedPreferences, a następnie w pierwszej metodzie oncreate() sprawdzić, czy ta wartość bool jest fałszywa.

Jeśli jest, wypchnij intencję ekranu licencji i sprawdź aplikację, jeśli jest, zaktualizuj preferencję na true. Więc przy następnym uruchomieniu pominie to, gdzie możesz załadować swój główny ekran.

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

settings = getSharedPreferences(PREFS_NAME, 0);
boolean enteredDetails = settings.getBoolean("FirstTime", false);



if(enteredDetails){
setContentView(R.layout.main); //loads the main screen            
}
else{
startActivityForResult(new Intent(this, License.class), GET_DETAILS); 
}
}
1
tutts 26 lipiec 2011, 15:06
Nie ma za co. Pamiętaj, aby zastąpić przycisk Wstecz w widoku licencji, aby wyszedł z aplikacji, w przeciwnym razie wróci do strony głównej :)
 – 
tutts
26 lipiec 2011, 15:31

Możesz po prostu użyć Context.openFileInput() / Context.openFileOutput(), aby zapisać informację, która poinformuje Twoją aplikację, czy ekran licencji był już wyświetlany. W ten sposób możesz użyć czegoś takiego w swoim głównym Activity onCreate():

if (nothingWrittenInAFileCalled(FILE_NAME)) { // using Context.openFileInput()
     showLicense();
     writeAFileCalled(FILE_NAME); // using Context.openFileOutput()
}

Jeśli to nie jest zadowalające, możesz to również sprawdzić po stronie serwera licencji. Jeśli na przykład wyślesz serwerowi licencji skrót IMEI, serwer licencji będzie mógł określić, czy aplikacja została już zainstalowana, czy nie. W takim przypadku preferuj nieodwracalny skrót: ma to na celu uniknięcie wysyłania/przechowywania IMEI, ponieważ można zobaczyć tę informację jako dane prywatne.

0
Shlublu 26 lipiec 2011, 15:12