我从Deezer Android SDK 0.10.16切换到0.10.17 Beta,现在每次尝试使用Facebook帐户进行身份验证时,我都会被重定向到webview,并出现以下错误:
ERR_UNKNOWN_URL_SCHEME
浏览器尝试访问的地址是:
dzconnect://MYPACKAGE/success#access_token=...&期满= ...
我的代码中没有更改任何内容,只更新了SDK。
这是我的登录活动:
public class LoginActivity extends Activity
{
protected static final String[] PERMISSIONS = new String[] {"basic_access", "manage_library", "delete_library", "listening_history", "manage_community"};
// DeezerConnect object
private DeezerConnect m_deezerConnect;
// Handle connection callbacks.
private DialogHandler m_dialogHandler = new DialogHandler();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity);
m_deezerConnect = new DeezerConnect(getString(R.string.deezer_app_id));
SessionStore sessionStore = new SessionStore();
...
connectToDeezer(m_dialogHandler);
}
/**
* Connects to Deezer web services using an injectable DialogListener listener.
* @param listener event listener that will be notified of the connection progress.
*/
private void connectToDeezer(final DialogListener listener)
{
m_deezerConnect.authorize(this, PERMISSIONS, listener);
}
/** Handle DeezerConnect callbacks. */
private class DialogHandler implements DialogListener
{
@Override
public void onComplete(final Bundle values)
{
SessionStore sessionStore = new SessionStore();
sessionStore.save(m_deezerConnect, LoginActivity.this);
...
LoginActivity.this.finish();
}
@Override
public void onCancel()
{
LoginActivity.this.finish();
}
@Override
public void onException(Exception e)
{
...
LoginActivity.this.finish();
return;
}
}
}