2014-10-29 23 views
11

Tworzę niestandardowy program uruchamiający, który jest używany jako tryb kiosku w telefonie. Oznacza to, że większość rzeczy jest ukryta, ale pozwala użytkownikowi uzyskać dostęp do niektórych aplikacji. Zauważyłem, że gdy uruchamiam aplikacje z listy Ostatnie aplikacje, po naciśnięciu przycisku Wstecz pojawia się program uruchamiający giełdę zamiast mojego niestandardowego programu uruchamiającego. Upewniłem się, że mój program uruchamiający jest domyślnym launcherem, ponieważ jest to program uruchamiający, który pojawia się po naciśnięciu przycisku home. Czy ktoś wpadł na ten problem? Jak mogę to rozwiązać?Aplikacje z ostatnich aplikacji z powrotem do programu uruchamiającego zamiast niestandardowego programu uruchamiającego

Odpowiedz

-1

Jedyne rozwiązanie, które znalazłem, gdy miałem ten sam problem, to ponowne uruchomienie urządzenia. Po uruchomieniu aplikacji z ostatnich aplikacji i naciśnięciu przycisku Wstecz pojawi się właściwy ekran główny.

0

Podczas mojej próby samodzielnego uruchomienia Launchera niestandardowego, aby uzyskać ten wynik, konieczne było wyłączenie domyślnego programu uruchamiającego, który mogłem wykonać za pomocą KeyguardManager.

package com.themejunky.locker.services; 


public class KeyguardService extends Service { 

    BroadcastReceiver mReceiver, mBatteryReceiver; 

// Intent myIntent; 
public class LocalBinder extends Binder { 
    public KeyguardService getService() { 
     return KeyguardService.this; 
    } 
} 

@Override 
public IBinder onBind(Intent intent) { 
    return mBinder; 
} 

private final IBinder mBinder = new LocalBinder(); 

@Override 
public void onCreate() { 
    KeyguardManager.KeyguardLock k1; 

    KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE); 
    k1 = km.newKeyguardLock("IN"); 
    k1.disableKeyguard(); 

    KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE); 
    KeyguardManager.KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
    lock.disableKeyguard(); 

    IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON); 
    filter.addAction(Intent.ACTION_SCREEN_OFF); 
    filter.setPriority(999); 

    mReceiver = new LockScreenReceiver(); 
    registerReceiver(mReceiver, filter); 

    mBatteryReceiver = new BatteryReceiver(); 
    IntentFilter filter2 = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 
    filter2.addAction(Intent.ACTION_BATTERY_OKAY); 
    filter2.addAction(Intent.ACTION_BATTERY_LOW); 
    registerReceiver(mBatteryReceiver, filter2); 

    super.onCreate(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    return START_STICKY; 
} 

@Override 
public void onDestroy() { 
    unregisterReceiver(mReceiver); 
    unregisterReceiver(mBatteryReceiver); 
    super.onDestroy(); 
} 

}

Powiązane problemy