我对在Android上实现Ffltter有一个问题。在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的授权。我可以登录并在Web浏览器上接受。然后我被重定向到我的应用程序,但什么也没有发生。上面的print(authResp.code)(当然还有后面的所有内容)永远不会触发。
再说一次,在iOS上我没有问题。
我已经尝试了很多东西,但都没有成功。任何帮助都将不胜感激!
2条答案
按热度按时间8ehkhllq1#
经过多次试验,我终于解决了这个问题。希望它能帮助其他人。
添加以下活动(而不仅仅是现有活动中的意图筛选器)就成功了:
uyto3xhc2#
嗨,你能分享一下代码吗?我的代码no在尝试添加另一个活动时不起作用