vendredi 11 septembre 2015

How to close the setting screen in android programmatically

I need close the settings screen from another app, how to works appLock.

here:

http://ift.tt/1EKZZaT

my service code, this code works OK

final ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    Timer timer = new Timer();
    timer.scheduleAtFixedRate(
            new TimerTask() {
                public void run() {
                    String appProcesses = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();

                    if (appProcesses.equals("com.android.settings")) {
                        Intent i1=new Intent(service.this, LockedScreen.class);
                        i1.setAction(Intent.ACTION_MAIN);
                        i1.addCategory(Intent.CATEGORY_HOME);
                        i1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        i1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        i1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(i1);

                    }
                }
            }
            , 0, 1000);

my lock screen code in backpresed and this code don't close settings activity:

 @Override
public void onBackPressed() {
    super.onBackPressed();
    try {
        ActivityManager am = (ActivityManager) getApplicationContext().getSystemService("Settings");
        Method forceStopPackage;
        forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);
        forceStopPackage.setAccessible(true);
        forceStopPackage.invoke(am, "com.android.settings");
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }
}

error in backpressed, this error is in forceStopPackage = am.getClass().getDeclaredMethod("forceStopPackage", String.class);:

09-11 09:35:21.315    3037-3037/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
        at pe.com.oscar.settingsintent.LockedScreen.onBackPressed(LockedScreen.java:41)
        at android.app.Activity.onKeyUp(Activity.java:2361)
        at android.view.KeyEvent.dispatch(KeyEvent.java:2707)
        at android.app.Activity.dispatchKeyEvent(Activity.java:2594)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2098)
        at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3608)
        at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3578)
        at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2828)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:153)
        at android.app.ActivityThread.main(ActivityThread.java:5071)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
        at dalvik.system.NativeStart.main(Native Method)

HELPP PLEASE!!



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire