Bonjour à tous,
Je cherche à me connecter à une API avec Android et faire en sorte que le redirect soit dans mon application.
Pour mon activité principale, le code est le suivant:
Je suis bien redirigé automatiquement vers le formulaire de login au travers de l'API mais une fois connecté, j'ai l'erreur Page Web non accessible à l'adresse suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public class MyActivity extends Activity { private WebView mWebview ; @Override protected void onCreate(Bundle savedInstanceState) { try { super.onCreate(savedInstanceState); String url = "https://api.test.com/oauth/authorize?response_type=token&client_id=test&redirect_uri=test://callback"; mWebview = new WebView(this); mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript mWebview.setWebViewClient(new WebViewClient() { public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Log.e("error", description); } }); mWebview.loadUrl(url); setContentView(mWebview); } catch(Exception e){ Log.e("APP", "exception", e); } } }
Donc l'appel est bon mais il ne sait pas me rediriger sur mon appli. De plus dans les log, j'ai l'erreur ERR_UNKNOWN_URL_SCHEME. Mais, je ne vois pas pourquoi il ne sait pas me rediriger.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2test://callback#access_token=32...
Le manifest est le suivant:
L'activity Logged ne contient pour le moment que la méthode onNewIntent pour récupérer le token.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="test.com.test" > <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:launchMode="singleInstance" android:theme="@style/AppTheme" > <activity android:name=".MyActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Logged" android:label="@string/title_activity_logged" > <intent-filter> <data android:host="callback" android:scheme="test" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> </activity> </application> </manifest>
Auriez-vous une idée?
Merci d'avance pour vos réponses
Partager