0

ここで、エクストラの受け渡しに関して同様の問題を抱えている人々の多くの例を見てきましたが、それでも私の問題はわかりません。

エクストラを設定するコードは次のとおりです。

            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 は呼び出されません。誰かが私がここで間違っていることを教えてもらえますか?

4

2 に答える 2

0

文字列をログに記録し、playMusicFlag実際に値を取得しているかどうかを確認してから、文字列を比較します。

こちらです:

if (playMusicFlag.equalsIgnoreCase("Y"))

その代わり:

if (playMusicFlag == "Y") 
于 2013-04-19T06:09:52.070 に答える