0
嗨,大家好我一直在努力尋找這種奇怪行爲的原因。我有一個服務,將出席接到呼叫和該代碼如下:Android中的奇怪行爲
Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_HEADSETHOOK);
i.putExtra(Intent.EXTRA_KEY_EVENT, event);
ctx.sendOrderedBroadcast(i, null);
Intent buttonUp = new Intent(Intent.ACTION_MEDIA_BUTTON);
buttonUp.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(
KeyEvent.ACTION_UP, KeyEvent.KEYCODE_HEADSETHOOK));
ctx.sendOrderedBroadcast(buttonUp,
"android.permission.CALL_PRIVILEGED");
而上述代碼工作很酷。我有一個活動,我可以播放存儲在SD卡中的一些簡單的音頻文件。代碼如下:
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse("file://"+Environment.getExternalStorageDirectory()
.getAbsolutePath()+"/" + fileName);
String type = "audio/mp3";
intent.setDataAndType(data, type);
startActivity(intent);
這也可以正常工作。但問題在於,一旦第二個活動即將開始並完成,參加呼叫的第一部分停止工作。我不知道爲什麼會這樣發生。任何人都可以找出原因。
嗨,大家經過一天的努力找到了解決辦法。我所做的只是發送orderedBroadcast,而不是發送廣播,它現在工作正常....'ctx.sendBroadcast(i);而不是ctx.sendOrderedBroadcast(我,「android.permission.CALL_PRIVILEGED」);' – Dinash 2011-04-27 10:28:13