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); 

这也可以正常工作。但问题在于,一旦第二个活动即将开始并完成,参加呼叫的第一部分停止工作。我不知道为什么会这样发生。任何人都可以找出原因。

+0

嗨,大家经过一天的努力找到了解决办法。我所做的只是发送orderedBroadcast,而不是发送广播,它现在工作正常....'ctx.sendBroadcast(i);而不是ctx.sendOrderedBroadcast(我,“android.permission.CALL_PRIVILEGED”);' – Dinash 2011-04-27 10:28:13

粘贴评论以从未答复中删除问题。下次请回答你自己的问题。

嗨大家经过一天的努力找到了解决办法。我所做的是 ,而不是发送orderedBroadcast只是发送广播,它现在 工作正常.... ctx.sendBroadcast(i);而不是 ctx.sendOrderedBroadcast(i,“android.permission.CALL_PRIVILEGED”);