在我的Android应用程序中,我使用路标库在ortuth登录twitter。
并且在代码中我尝试使用onNewIntent捕获回调,但是当我尝试完成此活动时 - 我发现有一些错误 - 当我写完成时回调没有回到应用程序:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Uri uri = intent.getData();
if (uri ***) {
twitterOauthHelper.saveKeyAndSecret(uri);
setResult(RESULT_OK);
finish();
} else {
displayToast("Sign in: error occurred.");
}
}
但是我怎样才能在浏览器Twitter回拨成功签收标志后回复完成此活动?
答案 0 :(得分:1)
从处理返回结果的活动中,您必须添加类似的内容;
Intent returnIntent = new Intent();
returnIntent.putExtra("extras", extras); //This is just an example extra.
setResult(RESULT_OK, returnIntent); //This is the important part.
finish();
完成此操作后,在前面的Activity(将处理结果的Activity)上,您必须执行以下操作;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == YOUR_REQUEST_CODE) {
//Do something with "data"
}
希望它有所帮助,有关The Documentation的更多信息。
答案 1 :(得分:0)
你的意思是登录返回时永远不会调用onNewIntent()吗?
尝试检查您的AndroidManifest.xml。您的活动是否有android:launchMode="singleTask"
标志?