0

Androidですべての音楽の再生を停止するには、アラームマネージャーを使用します。しかし、これを行う方法がわかりません。メイン アクティビティ ソース コード内

 Intent intent = new Intent(AlarmActivity.this, OneShotAlarm.class);
        PendingIntent sender = PendingIntent.getBroadcast(AlarmActivity.this,
                0, intent, 0);

        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.add(Calendar.SECOND, 5);

        // Schedule the alarm!
        AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
        am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);

Alarm は BroadcastReceiver を拡張します

public class OneShotAlarm extends BroadcastReceiver

{

@Override
public void onReceive(Context context, Intent intent)
{  
// What can I do for stop music of device is running
    Toast.makeText(context, R.string.one_shot_received, Toast.LENGTH_SHORT).show();
}

}

4

1 に答える 1

0

あなたが調べることができます:

このようなものが動作するはずです:

AudioManager aManager = (AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setStreamMute(AudioManager.STREAM_MUSIC, true);

編集:「オーディオフォーカス」を取る機能があります:AudioManager

public int requestAudioFocus (AudioManager.OnAudioFocusChangeListener l, int streamType, int durationHint)

サンプル

AudioManager am = mContext.getSystemService(Context.AUDIO_SERVICE);
...

// Request audio focus for playback
int result = am.requestAudioFocus(afChangeListener,
                                 // Use the music stream.
                                 AudioManager.STREAM_MUSIC,
                                 // Request permanent focus.
                                 AudioManager.AUDIOFOCUS_GAIN);

if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
    am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
    // Start playback.
}
于 2013-07-06T05:01:26.903 に答える