Android getIntExtra始终返回默认的当前帖子,这些帖子也不起作用

Android getIntExtra始终返回默认的当前帖子,这些帖子也不起作用,android,android-intent,Android,Android Intent,在activity SongDetails和MainActivity之间传递数据时,getIntExtra始终返回默认值。请参阅下面的代码 第一项活动 Log.d("URL", "isIntentDriven = TRUE"); Intent intent = new Intent(SongDetails.this, MainActivity.class); Log.d("URL", " " + sid);

在activity SongDetails和MainActivity之间传递数据时,getIntExtra始终返回默认值。请参阅下面的代码

第一项活动

Log.d("URL", "isIntentDriven = TRUE");
                    Intent intent = new Intent(SongDetails.this, MainActivity.class);
                    Log.d("URL", " " + sid);
                    intent.putExtra("sid", sid);
                    startActivity(intent);

                    finish();
第二项活动

private void getSIDIntent() {

    int sid = 0;

    Intent mIntent = getIntent();

    try {
        sid = mIntent.getIntExtra("sid", 0);
        Log.d("URL", "" + sid);
    } catch (Exception e) {

    } finally {
        if (sid > 0) {
            addSongDownload(sid);
        }
    }

    hideKeyboard();
}
更新: 我也试过这个

SongDetails.java putExtra,只要仍然为0

long sid;
intent.putExtra("sid", sid); 
Main.java

long sid = 0;
Intent mIntent = getIntent();
try {
sid = mIntent.getLongExtra("sid", 0);

如果将
MainActivity
定义为singleTop或singleTask,则其
getIntent()
方法将不会指向您正在传递的新意图——它将返回“原始”意图。要阅读新的意图,实际上需要重写
onNewIntent()

从:

这是为在中将launchMode设置为“singleTop”的活动调用的 他们的包,或者如果客户使用
标志\u活动\u单个\u顶部
标志 调用
开始触觉(意图)
时。无论哪种情况,当活动 在活动堆栈顶部重新启动,而不是新的 将调用正在启动的活动的实例,
onNewIntent()
在现有实例上,具有用于重新启动的意图 它

请注意,
getIntent()
仍然返回原始意图。你可以用
setIntent(Intent)
将其更新为新的Intent


在第一个活动中,sid不是int?是的,我正在使用int putExtra,我刚刚添加了它来查看,但没有任何区别。SongDetails活动中sid的值是多少?正确的“歌曲id”。在MainActivity中,它保持0。启动时是否需要添加一些意图标志?不确定?