Je ne suis pas sûr du scénario d'application spécifique. C'est juste que les composants correspondants sont démarrés entre deux applications et que le transfert de données est toujours requis. Selon votre description, l'application A doit lancer activement l'application B. Vous pouvez. essayez d'utiliser la fonction cachée d'Activity. Démarrez-la pour voir si le problème peut être résolu :
1. 在APP B中可被调起的Activity 定义好intent-filter,action,data,category...以便可以被隐式启动;
2. 在APP A中根据APP B 里需要被隐式启动的Activity的intent-filter,封装好intent并startActivityForResult(...),在onActivityResult中等待从APP B返回的结果,进行下一步处理
3. 在APP B 中被调用的Activity里setResult()设置处理结果.
Il est recommandé de se référer au deuxième chapitre de « Android Art Development Exploration », qui contient une introduction détaillée à la communication entre les processus.
Cela dépend des spécificités. Si les deux programmes sont indépendants et incontrôlables, comme QQ et WEIBO, et que vous n'êtes pas sûr que les utilisateurs les démarreront en même temps, le meilleur moyen est de créer une interface publique.
Comme l'a dit @wangxw725, c'est la méthode fiable. La fiabilité de l'utilisation de la diffusion est trop faible. Que se passe-t-il si l'une des activités passées en arrière-plan est recyclée par le système ? Par conséquent, il est préférable d'utiliser l'intention implicite. comment
Tout le monde ci-dessus est génial, mais ce n'est pas l'utilisation de startActivityForResult()? A appelle directement la page de B. Si la page cible n'est pas pratique à exposer, écrivez une page intermédiaire pour gérer spécifiquement ce type d'appel. . Puis traitement onActivityResult ().
Je ne suis pas sûr du scénario d'application spécifique. C'est juste que les composants correspondants sont démarrés entre deux applications et que le transfert de données est toujours requis. Selon votre description, l'application A doit lancer activement l'application B. Vous pouvez. essayez d'utiliser la fonction cachée d'Activity. Démarrez-la pour voir si le problème peut être résolu :
Il est recommandé de se référer au deuxième chapitre de « Android Art Development Exploration », qui contient une introduction détaillée à la communication entre les processus.
Cela dépend des spécificités. Si les deux programmes sont indépendants et incontrôlables, comme QQ et WEIBO, et que vous n'êtes pas sûr que les utilisateurs les démarreront en même temps, le meilleur moyen est de créer une interface publique.
Utilisez aidl directement pour communiquer entre les applications, c'est un jeu d'enfant
Si vous ouvrez simplement une autre activité, vous pouvez personnaliser l'URI de l'application. Pour plus de détails, voir les
.scheme
attributsSi vous avez besoin d'une communication inter-applications plus spécifique, vous pouvez utiliser
aidl
De même, il existe des services utilisant des services comme relais ou utilisant des mécanismes de diffusion
Il est recommandé d'utiliser aidl
http://blog.csdn.net/github_3... introduction détaillée
Comme l'a dit @wangxw725, c'est la méthode fiable. La fiabilité de l'utilisation de la diffusion est trop faible. Que se passe-t-il si l'une des activités passées en arrière-plan est recyclée par le système ? Par conséquent, il est préférable d'utiliser l'intention implicite. comment
La communication inter-processus peut être réalisée avec l'aide de l'AIDL
Tout le monde ci-dessus est génial, mais ce n'est pas l'utilisation de startActivityForResult()?
A appelle directement la page de B. Si la page cible n'est pas pratique à exposer, écrivez une page intermédiaire pour gérer spécifiquement ce type d'appel. . Puis traitement onActivityResult ().