相关疑难解决方法(0)

即使更新,意图附加功能也保持不变

我试图在Activity使用Intent附加功能的实例之间传递一小段文本.

每当我使用操作栏中的后退按钮或导航在它们之间导航时,这似乎工作正常.但是,如果我访问主屏幕然后重新启动应用程序,则会忽略传递的额外内容; 第二个Activity似乎使用旧的Intent,而不是新的.

相关代码:

来源活动

public class ActivityA extends Activity {
    protected void goToResults(String results) {
        Intent intent = new Intent(this, ActivityB.class);
        intent.putExtra(Intent.EXTRA_TEXT, results);
        startActivity(intent);
    }
}
Run Code Online (Sandbox Code Playgroud)

目的地活动

public class ActivityB extends Activity {
    @Override
    public void onResume() {
        super.onResume();
        Bundle extras = getIntent().getExtras();
        String results = extras.getString(Intent.EXTRA_TEXT);
        // etc
    }
 }
Run Code Online (Sandbox Code Playgroud)

我尝试了很多不同的东西,包括:

intent.setAction("action-" + UNIQUE_ID);
Run Code Online (Sandbox Code Playgroud)

(据我所知,Intent实例不按额外内容进行比较)

PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Run Code Online (Sandbox Code Playgroud)

(我不需要PendingIntent,但认为这可能会迫使Intent更新)

有关如何在Intent每次从ActivityA …

android android-intent

8
推荐指数
1
解决办法
5871
查看次数

没有删除/替换意图的额外内容

我在点击按钮时设置闹钟.

警报是通过意图触发的.

这个意图得到一个额外的"int"传递给广播接收器.

问题是,第一次点击按钮时,意图的额外设置会被设置一次,而其他点击则不会改变:

Intent intent = new Intent(A.this, B.class);
intent.putExtra(WAKEUP_DURATION, wakeUpDuration);
PendingIntent sender = PendingIntent.getBroadcast(A.this, 0, intent, 0);
Run Code Online (Sandbox Code Playgroud)

我尝试在广播接收器中删除它,但没有运气:

intent.removeExtra(A.WAKEUP_DURATION);
Run Code Online (Sandbox Code Playgroud)

android android-intent

3
推荐指数
2
解决办法
3131
查看次数

标签 统计

android ×2

android-intent ×2