убить службу одного приложения в другом приложении - PullRequest
1 голос
/ 17 февраля 2012

У меня есть два разных приложения, по этой гипотезе два приложения - это A и B. В приложении A много служб, моя задача - убить службу A, используя метод B, но A и B не являются apk, разные приложения.

i used :
ActivityManager manager =  (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> activityes = ((ActivityManager) manager).getRunningAppProcesses();

    for (int i = 0; i < activityes.size(); i++){

        Log.e("APP: "+i, activityes.get(0).processName);

        if (!activityes.get(i).processName.contains("com.qihoo360")){
            //android.os.Process.killProcess(activityes.get(1).pid);
            Log.i("dfd","xx");
            manager.killBackgroundProcesses("com.qihoo360.mobilesafe"); 
            android.os.Process.sendSignal(activityes.get(1).pid, android.os.Process.SIGNAL_KILL);
        }

    }

но бесполезно. Но в приложении для мобильных настроек mobile у него есть кнопка закрытия, чтобы закрыть его. если у меня нет прав, чтобы убить другое приложение, потому что безопасность системы.

Ответы [ 3 ]

1 голос
/ 17 февраля 2012

Вы даже не должны пытаться убить службу таким образом.

Используйте приемник вещания в службе, которую нужно остановить, и отправьте вещание из приложения, которое хочет остановить его.

Это позволяет получателю решить, закончен ли он, и изящно высвободить ресурсы.

У вас должна быть очень веская причина даже пытаться принудительно завершить процессы.

1 голос
/ 17 февраля 2012

Вы должны взглянуть на интент-фильтры.Убедитесь, что у вашего приложения есть разрешение на доступ к сервису и к другому приложению.Надеюсь, эта ссылка поможет вам: http://justanapplication.wordpress.com/2011/02/16/the-android-intent-based-apis-part-five-services-and-intents/

0 голосов
/ 17 февраля 2012

Вам следует обратиться к исходному коду о том, как убиваются службы, прежде чем вы даже попытаетесь это сделать. Это поможет вам понять, что вам нужно.

НЕ попробуйте написать код без какой-либо структуры того, что вы пытаетесь сделать, и как вы можете этого достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...