Android中的奇怪行为
问题描述:
嗨,大家好我一直在努力寻找这种奇怪行为的原因。我有一个服务,将出席接到呼叫和该代码如下: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(i,“android.permission.CALL_PRIVILEGED”);
嗨,大家经过一天的努力找到了解决办法。我所做的只是发送orderedBroadcast,而不是发送广播,它现在工作正常....'ctx.sendBroadcast(i);而不是ctx.sendOrderedBroadcast(我,“android.permission.CALL_PRIVILEGED”);' – Dinash 2011-04-27 10:28:13