2017-12-10 1 views
6

i verwendet Header Absicht hinzufügen, wie unten:Chrom ignoriert enthalten Header in der Absicht

 Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(baseUrl)); 
     myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     Bundle bundle = new Bundle(); 
     TokenManager manager = TokenManager.getTokenManager(); 
     bundle.putString("Authorization", manager.getAuthorization()); 
     bundle.putString("Content-Type","application/x-www-form-urlencoded"); 
     myIntent.putExtra(Browser.EXTRA_HEADERS, bundle); 
     mContext.startActivity(myIntent); 

aber es scheint, es nicht auf neueste Version von Google Chrome funktioniert. Es ignoriert Header, da es keinen Header gibt, daher stoße ich auf Autorisierungsprobleme. kann mir jemand helfen? (Ich brauche Absicht zu verwenden, nicht webview)

+1

https://stackoverflow.com/questions/3750361/passing-headers-while-using-browser-intent akzeptierte Antwort sollte – Xirate

+2

arbeiten @Xirate die akzeptierte Antwort der approache ist, dass ich mit so weit (wie Sie in Frage Beschreibung sehen können), funktioniert es nicht mit neuesten Google Chrome-Browser, auch wenn es der Standard-Browser ist. –

Antwort

0

Versuchen Sie, diese Lösung

Ich habe ein Map-Objekt, das ich Header-Informationen gespeichert. Dann ist die folgende:

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
Bundle bundle = new Bundle(); 
if(mExtraHeader!=null){ 
for(String key: mExtraHeader.keySet()){ 
    bundle.putString(key, mExtraHeader.get(key)); 
} 
} 
i.putExtra(Browser.EXTRA_HEADERS, bundle); 
startActivity(i); 
+0

Ihr Vorschlag ist nur eine weitere Möglichkeit, das Bündel zu füllen, das mit dem Schlüsselwert Browser.EXTRA_HEADERS zum Ziel hinzugefügt wird. Chrome liest dieses Paket nicht und setzt daher keine Header, die wir angegeben haben. daher stoßen wir auf das Problem, das ich erwähnte. –

+0

überprüfen Sie bitte diesen Link könnte es helfen, https://developer.chrome.com/multidevice/android/intents#example –

+0

Stattdessen senden Sie Ihre Zeichenfolge Werte direkt über Intent. Vermeiden Sie Bündel und prüfen Sie, was passieren wird. oder überprüfen Sie https://stackoverflow.com/questions/3750361/passing-headers-while-using-browser-intent?noredirect=1&lq=1 –

Verwandte Themen