Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在接到电话时以编程方式启动扬声器_Android - Fatal编程技术网

Android 在接到电话时以编程方式启动扬声器

Android 在接到电话时以编程方式启动扬声器,android,Android,嘿..我计划在我的应用程序中添加一个功能,当用户接到电话时自动打开扬声器 以下是我的部分代码: case TelephonyManager.CALL_STATE_OFFHOOK: //CALL_STATE_OFFHOOK; setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); am.setMode(AudioManager.MODE_IN_CA

嘿..我计划在我的应用程序中添加一个功能,当用户接到电话时自动打开扬声器

以下是我的部分代码:

  case TelephonyManager.CALL_STATE_OFFHOOK:
              //CALL_STATE_OFFHOOK; 

              setVolumeControlStream(AudioManager.STREAM_VOICE_CALL); 
               am.setMode(AudioManager.MODE_IN_CALL); 
               am.setSpeakerphoneOn(true);
          boolean check = am.isSpeakerphoneOn();
          Toast.makeText(Speaker.this, "LoudSpeaker On: "+ check,Toast.LENGTH_LONG).show();

我已经在清单中添加了修改音频设置的权限..但是..扬声器没有打开..有人能帮我解决这个问题吗..提前谢谢..顺便说一下..这个应用程序是在android 2.1中实现的

尝试在打开前保持500毫秒

因此,它将类似于:

  case TelephonyManager.CALL_STATE_OFFHOOK:
        // CALL_STATE_OFFHOOK;
        try {
            Thread.sleep(500); // Delay 0,5 seconds to handle better turning on
                                // loudspeaker
        } catch (InterruptedException e) {
        }
        setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
        am.setMode(AudioManager.MODE_IN_CALL);
        am.setSpeakerphoneOn(true);
        boolean check = am.isSpeakerphoneOn();
        Toast.makeText(Speaker.this, "LoudSpeaker On: " + check,
                Toast.LENGTH_LONG).show();

顺便说一句,我有Xperia 4.1.2,您的初始代码可以正常工作。

任何人都可以提供帮助??thanksi与上述代码相同,接听来电时使用扬声器