2010-11-30 5 views
2

J'ai deux applications qui se connectent au même système mais qui ont des fonctions distinctes et peuvent ne pas être installées en même temps. Je peux signer les deux applications avec la même signature sans problème, même les faire fonctionner dans le même processus.Préservation de la session de connexion sur plusieurs applications Android

Comment puis-je stocker le cookie de connexion (entre autres) de manière à ce qu'il soit partagé par les deux applications et qu'il soit toujours protégé par des applications inconnues?

Répondre

2

L'ID utilisateur partagé devrait vous permettre d'accéder au stockage privé de l'autre, il vous suffirait de savoir si l'autre était déjà installé, de déterminer le chemin absolu de son stockage privé, puis de voir s'il avait le cookie . J'espère que vous ne mourrez pas de faim à la table des philosophes.

+1

Je doute qu'il y ait un problème de simultanéité, surtout s'il accède à la connexion à partir du contexte d'une activité en cours d'exécution. Mais c'est une meilleure solution que les fournisseurs de contenu (trop lourd, accessible aux autres applications) ou d'enregistrer quelque chose sur le stockage partagé à l'échelle du système. –

0

Err ... qu'est-ce qu'on appelle ... un fournisseur de données? Nan. Je suis mélangé avec "Service" et "Content Provider".

Mettez les applications et le service de connexion dans le même processus. L'application doit pouvoir démarrer le service ou l'interroger pour obtenir des informations sur la session et tout ce que vous pourriez vouloir ajouter.

Vous pouvez également placer toutes ces informations dans une base de données partagée.

La boîte de dialogue de connexion elle-même doit probablement être une activité, et je ne suis pas sûr si vous pouvez avoir une activité dans un service. Vous aurez peut-être besoin d'écrans de connexion en double dans vos applications qui pourraient ensuite transmettre les données de session à votre service à des fins de partage.

Je ne suis pas sûr si le service devrait être une installation distincte, ou quelque chose qui pourrait être livré avec les deux applications.

+0

Cela peut fonctionner, mais à moins qu'ils ne souhaitent installer une troisième apk du marché (les installations non marchandes nécessitent des modifications de paramètres impossibles sur tous les téléphones), il faudrait probablement deux copies du service nommées, mais identiques, une dans chaque apk, et une certaine logique déterminer lequel commencer. –

+0

Je pense "deux copies identiques". BIEN QUE ... il y a plusieurs applications sur le marché qui exigent que vous ayez déjà installé Other Thing. AIR, par exemple. Publiez le service en tant que "bibliothèque de logiciels" et vous êtes prêt à partir. –

0

est ici une bonne solution:

What's the best way to do "application settings" in Android?

Puisque vous voulez partager entre deux applications, quelle que soit la façon dont vous voulez la mettre en œuvre, ne pas oublier que ce sera visible à toutes les applications . Vous souhaiterez peut-être chiffrer votre mot de passe ou votre ID de session. Voici un exemple:

http://android.voxisland.com/code_examples/How_to_encrypt_and_decrypt_strings.rhtml

Bonne chance!

Questions connexes