powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Activity, Service, AIDL etc
5 сообщений из 5, страница 1 из 1
Activity, Service, AIDL etc
    #40007383
RENO4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Провокационный вопрос - в каком случае привязанный (bound) Service запускается в том же процессе, что и привязавшее его Activity, учитывая, что оба из одного приложения?
...
Рейтинг: 0 / 0
Activity, Service, AIDL etc
    #40007408
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подозреваю, что в общем случае всегда. если ты не указываешь явно, что activity или сам сервис должны запускаться в другом процессе.
...
Рейтинг: 0 / 0
Activity, Service, AIDL etc
    #40007448
RENO4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда сразу возникает вопрос - что является таким указанием, как явным, так и неявным?

Как показали полевые испытания, если при запуске Activity основного приложения выводить в onCreate или в onOptionsItemSelected значение Process.myPid() и Process.myTid() , а затем выводить эти значения в методе onBind привязываемого сервиса, то значения зависят от того, откуда и какой сервис (основного приложения) привязывался.

Например,
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class LocalService extends Service {
    private final IBinder binder = new LocalBinder();

    public class LocalBinder extends Binder {
        LocalService getService() {
            return LocalService.this;
        }
    }

    @Override
    public IBinder onBind (Intent intent) {
        Log.d ("LOG", getClass().getSimpleName() + ".onBind: PI=" + Process.myPid() + ", TI=" + Process.myTid());

        return binder;
    }

    public ArrayList<String> getExRows() {
        return new ArrayList<>();
    }
}


выведет те же самые значения, будучи привязанным в onCreate Activity основного приложения при вызове оной активности.

А вот если из оной активности вызвать активность (BActivity) другого приложения, и в той активности в onCreate привязать сервис основного приложения, созданный с интерфейсом AIDL , то у всех троих (активности и сервиса с AIDL из основного приложения и активности BActivity) будут разные значения.

Вопрос в том, можно ли сделать так, чтобы у активности и сервиса с AIDL из основного приложения были одинаковые значения?
...
Рейтинг: 0 / 0
Activity, Service, AIDL etc
    #40007475
RENO4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю, что если сервис с AIDL привязать из активности в рамках одного основного приложения, то значения идентификаторов процесса у них будет все равно разный.
...
Рейтинг: 0 / 0
Activity, Service, AIDL etc
    #40007505
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я AIDL не пользовался, но подозреваю, что это ключевой момент - поскольку он именно для межпроцессной коммуникации, вероятно ничего удивительного, что там все в разных процессах работает
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Activity, Service, AIDL etc
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]