回调完成后Android完成活动

时间:2014-11-11 07:32:11

标签: android android-intent android-activity twitter callback

在我的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回拨成功签收标志后回复完成此活动?

2 个答案:

答案 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"标志?