Я хочу, чтобы музыкальный плеер по умолчанию Android начал играть. Я использовал этот код, чтобы сделать это:Невозможно запустить музыкальный плеер для Android по умолчанию с startacrtivity
if (((AudioManager) context
.getSystemService(context.AUDIO_SERVICE)).isMusicActive()) {
// pause
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "pause");
context.sendBroadcast(i);
} else {
// play
Intent i = new Intent("com.android.music.musicservicecommand");
i.putExtra("command", "play");
context.sendBroadcast(i);
}
Он отлично работает, когда музыкальный плеер приложение работает на переднем или заднем плане, в противном случае нет.
Так что я использовал это в другое заявление, чтобы запустить его:
Intent intent = new Intent("android.intent.category.APP_MUSIC");
inintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(in);
Но он не работает и приложение падает. Мне нужно использовать разрешение для этого? Если да, то какое разрешение? Если нет, в чем проблема?
Вот StackTrace:
D/AudioManager(20102): isMusicActive()? --> false
W/CpuWake ( 185): >>acquireCpuPerfWakeLock!
W/CpuWake ( 185): <<acquireCpuPerfWakeLock!
I/ActivityManager( 185): START intent from pid 20102
W/System.err(20102): android.content.ActivityNotFoundException: No Activity found to handle Intent
{ act=android.intent.category.APP_MUSIC flg=0x10000000 }
Редактировать: Вопрос обновлен
Не работает, приложение по-прежнему падает, когда оно пытается запустить музыкальный плеер. – Mehrdad
Можете ли вы опубликовать stacktrace –
stacktrace добавил. – Mehrdad