5

Ustawiam moją aplikację jako właściciela urządzenia, a ekran podpina, gdy zadzwonię pod numer startLockTask(). mój problem teraz, gdy próbuję uruchomić inną aplikację za pomocą tej metody:Android Uruchom inną aplikację, gdy blokada zadania

Intent i = getPackageManager().getLaunchIntentForPackage("com.example.test"); 
startActivityForResult(i,Intent.FLAG_ACTIVITY_NEW_TASK); 

(nic zdarzyć) co mam zrobić, aby go uruchomić?

Edit: Próbowałem dodanie

dpm.setLockTaskPackages(deviceAdmin, new String[] { getPackageName() ,"com.example.test"}); 

jej nie wprowadza zbyt.

+0

Co próbujesz zrobić? kiosk aplikacji? (ograniczyć urządzenie do korzystania tylko z określonych aplikacji?) – auval

+0

Czy możesz krok po kroku opisać, co próbujesz zrobić i jak to robisz? – windedmoose

Odpowiedz

3

Należy sprawdzić aplikację za pomocą applicationId zainstalowanej na urządzeniu. na przykład w twoim przypadku applicationId to com.example.test. Jeśli aplikacja nie została zainstalowana, możesz wprowadzić użytkownika na rynek lub pozwolić mu wybrać aplikację.

String packageName = "com.example.test"; 
. 
. 
. 
Intent i = context.getPackageManager().getLaunchIntentForPackage(packageName); 
if (i == null) { 
    i = new Intent(Intent.ACTION_VIEW); 
    i.setData(Uri.parse("market://details?id=" + packageName)); 
    // Open app in google play store: 
    // i.setData(Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)); 
} 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(i); 
Powiązane problemy