Ciao a tutti,
mi trovo alle prese con un'applicazione che si interfaccia con il sistema di AR di Layar.
Il sistema di autenticazione previsto per layar prevede che quando si avvia la realtà aumentata se è presente un cookie determinato cookie (derivante da una pagina di login apposita) si possono vedere i punti d'interesse, altrimenti si viene reindirizzati (interamente a layar) sulla pagina di login.
Dato che io il login in realtà lo faccio da una mia applicazione che poi lancia layar volevo sapere se qualcuno sa come faccio a passare i cookie che ricevo dal login (e so essere corretti perchè faccio altre operazioni con il server che usano i cookie) a layar quando viene lanciato.
Mi spiego un pò meglio con qualche pezzetto di codice:
codice:
CookieSyncManager.createInstance(getApplicationContext());
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeSessionCookie();
for (int i=0; i<cookies.size(); ++i) {
String cString = cookies.get(i).getName() + "=" + cookies.get(i).getValue() +
"; domain=" + cookies.get(i).getDomain() +
"; expiry=" + cookies.get(i).getExpiryDate();
cookieManager.setCookie(getString(R.string.domain), cString);
String cString2 = cookies.get(i).getName() + "=" + cookies.get(i).getValue() +
"; domain=" + getString(R.string.domain) +
"; expiry=" + cookies.get(i).getExpiryDate();
cookieManager.setCookie(getString(R.string.domain), cString2);
}
SystemClock.sleep(1000);
CookieSyncManager.getInstance().sync();
Questo è il codice che eseguo per salvare i cookie dopo che il login è riuscito sulla mia applicazione.
Dopo il login sono in grado di comunicare con il server (tramite HttpClient) oppure lanciando una Webview senza problemi perchè i cookie internamente all'applicazione sono visibili.
Per lanciare layar invece devo creare un intent e lanciarlo così:
codice:
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(getString(R.string.launchlayarurl)));
startActivity(i);
in questo caso però il famoso cookie non è visto da layar e mi richiede di nuovo il login nella modalità che ho detto in precedenza, cioè internamente a layar.
Qualcuno ha mai affrontato questo problema? Soprattutto se i simpaticissimi programmatori di Layar ancora non avessero pensato a questa funzionalità ci sono modi per far vedere a calci questo cookie a layar?
Grazie a tutti