5

Ich meine Anwendung als Geräteinhaber festgelegt und der Bildschirm wird fixiert, wenn ich startLockTask() aufrufen. Mein Problem ist jetzt, wenn ich versuche, mit dieser Methode eine andere Anwendung auszuführen:Android Führen Sie eine andere Anwendung aus, während die Tasksperrung

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

(nichts passiert) , was ich zu tun haben, es laufen zu lassen?

Edit: Ich habe versucht,

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

seine nicht starten zu addieren.

+0

Was möchten Sie tun? App Kiosk? (ein Gerät so beschränken, dass nur bestimmte Apps verwendet werden?) – auval

+0

Können Sie Schritt für Schritt beschreiben, was Sie tun möchten und wie Sie es tun? – windedmoose

Antwort

3

Sie sollten überprüfen, die App mit einem applicationId ist auf dem Gerät installiert. Zum Beispiel in Ihrem Fall ist die applicationIdcom.example.test. Wenn die App nicht installiert wurde, können Sie den Nutzer auf einen Markt bringen oder ihn eine App auswählen lassen.

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); 
Verwandte Themen