Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / Activity, Service, AIDL etc / 5 сообщений из 5, страница 1 из 1
11.10.2020, 04:13
    #40007383
RENO4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Activity, Service, AIDL etc
Провокационный вопрос - в каком случае привязанный (bound) Service запускается в том же процессе, что и привязавшее его Activity, учитывая, что оба из одного приложения?
...
Рейтинг: 0 / 0
11.10.2020, 11:38
    #40007408
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Activity, Service, AIDL etc
подозреваю, что в общем случае всегда. если ты не указываешь явно, что activity или сам сервис должны запускаться в другом процессе.
...
Рейтинг: 0 / 0
11.10.2020, 16:24
    #40007448
RENO4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Activity, Service, AIDL etc
Тогда сразу возникает вопрос - что является таким указанием, как явным, так и неявным?

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


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