Controlar um aplicativo de outro aplicativo

Eu leioessa questão eoutra pergunta e eu entendo como iniciar um aplicativo de outro aplicativo (vamos chamar o outro aplicativoLauncherApplication). No entanto, meu objetivo não é apenas lançar um aplicativo, mas usar suas funções, então suponho queLauncherApplication deve iniciar uma atividade usando uma intenção (explícita ou implícita).

Eu deveria saber os dados e as ações que os aplicativos instalados reagem e devo adicionar essas informações a uma instância de intenção antes de iniciá-lo. Eu gostariaLauncherApplication permite que o usuário (não o desenvolvedor) configure essa intenção, mas como eu sei de antemão os parâmetros para colocar em uma intenção para os aplicativos instalados?

Eu deveria implementar o "LauncherApplication * para permitir que o usuário construa uma intenção através de uma interface gráfica. Ou eu poderia fazer meu aplicativo suportar a inclusão de plugins: dessa forma, eu poderia criar um plugin para cada aplicativo instalado, onde cada O plugin poderia ser responsável por gerenciar a configuração da intenção referente à aplicação associada a ela.

ATUALIZAÇÃO (detalhes adicionados). Em particular, oLauncherApplication deve ser um serviço com um reconhecedor de fala habilitado, para que o usuário possa iniciar um aplicativo proferindo palavras-chave específicas: além de lançar um aplicativo, o usuário deve poder fechá-lo e utilizar suas funções.

Por exemplo, eu poderia ter instalado uma aplicação ((vamos chamá-loLibraryApp) procurar livros disponíveis em uma biblioteca; este aplicativo pode ter as seguintes funções:

Procure um livro (essa função pode retornar se o livro estiver disponível, se já tiver sido emprestado ou se tiver sido reservado por outra pessoa).Reservar um livro (esta função deve retornar a conclusão da reserva).

Desta forma, quando eu pronuncio, por exemplo, as palavras "start LibraryApp", então oLauncherApplication serviço deve lançar oLibraryApp aplicação. Depois que o aplicativo é iniciado, o serviço deve poder enviar comandos para ele para usar uma das funções disponíveis (pesquisar um livro, reservar um livro).

Como posso enviar comandos para o aplicativo que já está ativo, a fim de controlá-lo?

questionAnswers(1)

yourAnswerToTheQuestion