嗨,我想连接到谷歌服务。我是连接到它的 OAuth 客户端 API。我使用的重定向 uri 是“http://localhost”
但是当我选择“允许访问”时,我想开始另一个活动。但是只要我按下“允许访问”,它就会打开带有以下选项的意图选择器:1)浏览器 2)项目名称
它显示了这一点,因为我已经使用“查看”操作启动了活动,并使用“浏览”类别声明了目标活动。
但是当我删除“BROWSABLE”类别时,它会直接显示浏览器,因此页面不会加载。
我正在使用的代码是:
String authenticationUrl= "https://accounts.google.com/o/oauth2/auth?
scope=https://www.googleapis.com/"+
"auth/userinfo.email+https://www.googleapis.com/auth/userinfo."+
"profile";
OAuthClientRequest request = null;
try {
request = OAuthClientRequest
.authorizationLocation(authenticationUrl)
.setClientId(CLIENT_ID)
.setRedirectURI(REDIRECT_URI)
.buildQueryMessage();
} catch (OAuthSystemException e) {
e.printStackTrace();
}
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(request.getLocationUri() + "&response_type=code"));
startActivity(intent);
在清单中,我已经像这样声明了目标活动:
<activity android:name=".TestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="localhost"/>
</intent-filter>
</activity>
我的问题是,当用户在获得身份验证后选择“允许访问”按钮时,我不想打开意图选择器。
请帮忙。