我在这里看过很多关于传递额外内容的人有类似问题的例子,但我仍然没有看到我的问题。
这是我设置附加功能的代码:
PLAY_MUSIC = "Y";
Intent intentAlarm = new Intent(this, MainActivity.class);
intentAlarm.putExtra("playMusic",PLAY_MUSIC);
intentAlarm.putExtra("mPos", mPos);
// 12345 is a request code
PendingIntent pIntent = PendingIntent.getActivity(this, 12345,
intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager)(this.getSystemService( Context.ALARM_SERVICE ));
am.set(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(), pIntent );
这是我在onCreate()
中获取它们的地方protected void onCreate(Bundle savedInstanceState) {
if (VERBOSE) Log.v(TAG, "+++ ON CREATE +++");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = getIntent();
playMusicFlag = intent.getStringExtra("playMusic");
mPos = intent.getIntExtra("mPos", 0);
if (playMusicFlag == "Y") {
if (VERBOSE) Log.v(TAG, "+++ playMusicFlag NOT SET+++");
playSongs();
showStopAlarmButton();
} // if
playMusicFlag没有设置。不调用playSongs和showStopAlarm。有人能告诉我这里我做错了什么吗?
答案 0 :(得分:0)
记录您的playMusicFlag
字符串并确认您是否获得任何值,然后比较您的字符串;
这样:
if (playMusicFlag.equalsIgnoreCase("Y"))
相反:
if (playMusicFlag == "Y")
答案 1 :(得分:-1)
在检索
时使用这样的方法intent.getExtras().getString("playMusic");
我认为它有效。