【发布时间】:2021-09-26 17:06:07
【问题描述】:
我对 Android 上的颤振实现有疑问。在 iOS 上它工作正常。 这是我的 AndroidManifest.xml:
<intent-filter android:label="flutter_web_auth">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="com.mycomp.myapp"/>
</intent-filter>
我这样定义了 SpotifyClient:
class SpotifyOAuth2Client extends OAuth2Client {
SpotifyOAuth2Client({required String redirectUri, required String customUriScheme}) :
super(
authorizeUrl: 'https://accounts.spotify.com/authorize',
tokenUrl: 'https://accounts.spotify.com/api/token',
redirectUri: redirectUri,
customUriScheme: customUriScheme) {
this.accessTokenRequestHeaders = {'Accept': 'application/json'};
}
}
这里是我尝试给客户打电话的地方:
OAuth2Client client = SpotifyOAuth2Client(
redirectUri: 'com.mycomp.myapp://callback',
customUriScheme: 'com.mycomp.myapp');
var authResp = await client.requestAuthorization(
clientId: 'huhuhuhuhuhuhuhuhu',
customParams: {'show_dialog': 'true'},
scopes: ['user-read-private', 'user-read-playback-state', 'user-modify-playback-state', 'user-read-currently-playing', 'user-read-email']);
print(authResp.code);
应用正确触发了对 Spotify 的授权。我可以在网络浏览器上登录并接受。 然后我被重定向到 myApp 但没有任何反应。上面的 print(authResp.code)(当然还有后面的所有内容)永远不会触发。
同样,在 iOS 上我没有问题。
我尝试了很多事情,但没有成功。任何帮助将不胜感激!
【问题讨论】: