相关疑难解决方法(0)

无论何时拨打电话,都要打开免提电话

我的要求是每当拨打电话时打开免提电话.我尝试了以下代码,但它无法正常工作.事实上,扬声器电话在通话中间打开,第二个电话来了!

package in.co.allsolutions;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.util.Log;
//import android.view.View;
import android.widget.Toast;
import android.media.AudioManager;

public class MyTelephonyBroadcastReceiver extends BroadcastReceiver {

      @Override
      public void onReceive(Context context, Intent intent) {

            AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
            audioManager.setSpeakerphoneOn(true);
            Bundle extras = intent.getExtras();            
            if (extras != null) {

                  String state = extras.getString(TelephonyManager.EXTRA_STATE);
                  Log.i("AS", "Message Received. State = " + state + ", Mode = " + audioManager.getMode());
                  //audioManager.setMode(AudioManager.MODE_NORMAL);
                  //audioManager.setSpeakerphoneOn(true);
//                  if (state.equals("OFFHOOK"))
//                  {                  
                  //audioManager.setMode(AudioManager.MODE_CURRENT);
                  //audioManager.setSpeakerphoneOn(true);
                  //audioManager.setMode(AudioManager.MODE_IN_CALL);
                  //audioManager.setSpeakerphoneOn(true); …
Run Code Online (Sandbox Code Playgroud)

android speakerphone

6
推荐指数
2
解决办法
1万
查看次数

Android-音频管理器setSpeakerphoneOn-在华为上不起作用

大家好,我在Huawei手机上的音频管理器有问题。我有一个应用程序,可以在通话过程中将通话语音从蓝牙耳机路由到听筒或扬声器。它在除华为手机以外的所有手机上都能正常工作。我添加了所有权限,这是需要的。有人有类似情况吗?

<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.PROCESS_INCOMING_CALLS" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Run Code Online (Sandbox Code Playgroud)

这部分代码对华为没有任何作用。尝试过的try / catch,但没有例外。

   private static void switch_to_earpiece () {
        m_amAudioManager = (AudioManager) fa.getSystemService(fa.AUDIO_SERVICE);
        m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
        m_amAudioManager.stopBluetoothSco();
        m_amAudioManager.setBluetoothScoOn(false);
        m_amAudioManager.setSpeakerphoneOn(false);
    }
Run Code Online (Sandbox Code Playgroud)

android-audiomanager huawei

5
推荐指数
0
解决办法
544
查看次数

如何打开扬声器打电话

带到这里是我的活动打电话的代码

public void makeAPhoneCallWithSpeakerOn()
{
  String uri = "tel:" + posted_by.trim() ;
  Intent intent = new Intent(Intent.ACTION_CALL);
  intent.setData(Uri.parse(uri));
  startActivity(intent); 
}
Run Code Online (Sandbox Code Playgroud)

问题是:

如何拨打电话并打开扬声器?

10X Elad

android android-intent

4
推荐指数
1
解决办法
8935
查看次数