GitHub uygulamamı yetkilendirmeye çalışıyorum ve uygulamaya geri dönüyorum. Intent ile yetkilendirme sayfasını açıyorum, ancak tarayıcımdan uygulamaya geri dönemem. Lütfen koduma bakıp nerede yanlış anladığımı söyler misin?Tarayıcıdan uygulamaya geri dönemiyorum
LoginActivity.java
private final String clientId="myclientid";
private final String clientSecret="myclientsecret";
private final String redirectUri="http://localhost";
private final String state="randomshit";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Button loginButton = (Button) findViewById(R.id.loginbutton);
loginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://github.com/login/oauth/authorize?" +
"&client_id="+clientId+
"&redirect_uri="+redirectUri+
"&state="+state)
);
startActivity(intent);
}
});
}
@Override
protected void onResume() {
super.onResume();
// the intent filter defined in AndroidManifest will handle the return from ACTION_VIEW intent
Uri uri = getIntent().getData();
if (uri != null && uri.toString().startsWith(redirectUri)) {
String code = uri.getQueryParameter("code");
if (code != null) {
Log.d("code",code);
}
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.figengungor.retrogithub">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="localhost"
android:scheme="http" />
</intent-filter>
</activity>
</application>
</manifest>
Benim GitHub uygulaması ve yönlendirme uri:
"Tarayıcımdan uygulamamıma geri dönemem" ile ne demek istiyorsunuz? Aldığın cevap nedir? – Jas
Telefondaki 'geri düğmesine' bastığınızda ne olur? –
Yetkilendirmeden sonra, redirectUri'ye yönlendiriliyor ve kod parametresi redirectUri'ye ekleniyor, bu da yetkilendirmenin başarılı olduğu anlamına geliyor. Ben redirectUri ekledim niyet filtresinde yeniden yönlendirme ile eşleşirse, uygulamaya geri gitmeli ve sonra onResume kısmım kod parametresini çıkarmalı. Bu şekilde çalışması gerekmez mi? Düğme tıklandığında –