就像标题所说的那样,我试图将一个布尔值从一个活动发送到另一个活动。
发送活动就是这个。
public class ReadyActivity extends Activity {
private TextView text;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ready);
text = (TextView) findViewById(R.id.contador);
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
text.setText(""+millisUntilFinished / 1000);
}
public void onFinish() {
Intent intent = new Intent(ReadyActivity.this, StreamingActivity.class);
intent.putExtra("ready",true);
startActivity(intent);
finish();
}
}.start();
}
在接收活动中,我只是为了检查值
Bundle extras = getIntent().getExtras();
if(extras != null){
if(extras.getBoolean("ready")){ // if an extra has been set
Toast.makeText(getApplicationContext(), "Test 1 Worked", Toast.LENGTH_LONG).show();
}
}
else
{
Toast.makeText(getApplicationContext(), "Doesn't work", Toast.LENGTH_LONG).show();
}
它总是向我发送没有工作的消息。
我必须补充一点,发送活动有Theme.Dialog。 它会影响它吗? 如何发送和接收布尔值并获取值?
答案 0 :(得分:1)
我在手机上尝试了你的代码。它已经完成了。 也许这是你的活动的launchMode原因。 检查您的xml并将您的活动设置为default。再试一次。
答案 1 :(得分:0)
你能尝试实现onNewIntent,如下所示:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//get intent extras here
}