在某些联系人的来电时增加铃声音量。 Android的

时间:2011-12-10 05:38:43

标签: android

现在,我的联系人选择器返回了联系人的电话号码。我试图将该号码与来电号码相匹配,如果它相等则将音量增加到最大值。我不太明白。任何帮助??

这是我的代码。 “number”是我的联系人选择器返回的号码。

public class phoneStateListener extends PhoneStateListener {

    public void onCallStateChanged(int state, String incomingNumber){


            switch(state){
                    case TelephonyManager.CALL_STATE_RINGING:

                            break;
            }       

 }

 public class broadCastReceiver extends BroadcastReceiver {

    public void onReceive(Context context, Intent intent) {

        TelephonyManager telephony = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
            PhoneStateListener PhoneListener = new PhoneStateListener();

        telephony.listen(PhoneListener, PhoneStateListener.LISTEN_CALL_STATE);


        Bundle bundle = intent.getExtras();
        String phoneNr= bundle.getString("incoming_number");


        if (phoneNr == number){

            amanager.setStreamVolume(AudioManager.STREAM_RING, 7, AudioManager.FLAG_ALLOW_RINGER_MODES|AudioManager.FLAG_PLAY_SOUND);

        }

    }

1 个答案:

答案 0 :(得分:0)

在我的评论中,我是一个自作聪明,开玩笑说如何比较字符串,但看着你的代码,事实证明这是一个显着的建议。我不确定number是什么(我在代码示例中没有看到),但由于phoneNr是一个字符串,我假设number也是。在java中,您将字符串相等性与==进行比较,而不是使用String' s equals()布尔方法。 ==比较了记忆空间,所以你要检查他们是否都指向同一个String对象,而这些对象几乎肯定不是,即使他们不是你也不是在意。