android 5.1中添加来电翻转静音的功能

网上关于来电翻转静音的功能有很多实现,但大同小以异,下面主要记录以下几点:

1.settting中添加控制。

2.Dialer中添加具体的功能实现。

3.AudioManager实现完成静音。


首先,关于setting中简单的控制,我是放在辅助功能中控制该功能;

/packages/apps/Settings/res/xml/accessibility_settings.xml

 <SwitchPreference
                android:key="toggle_turn_call_silent_preference"
                android:title="@string/accessibility_turn_call_silent_preference_title"
                android:persistent="false"/>

/packages/apps/Settings/src/com/android/settings/accessibility/AccessibilitySettings.java

  在这里我将当前的控制参数保存后发送了一个sticky广播,当应用中组测时就能够接收。

 if(mTurnCallSilentPreference == preference) {
            boolean silent= (Boolean) newValue;
            SharedPreferences sharedPreferences = getActivity().getSharedPreferences("call_silent_setting",getActivity().MODE_WORLD_WRITEABLE);
            if(silent) {
                Editor editor = sharedPreferences.edit();
                editor.putBoolean("callTurnSilent", true);
                editor.commit();
            } else {
                Editor editor = sharedPreferences.edit();
                editor.putBoolean("callTurnSilent", false);
                editor.commit();
            }       
            Intent mCallIntent = new Intent();
	        mCallIntent.setAction("TURN_CALL_SILENT");
            mCallIntent.putExtra("call_silent", silent);
	        getActivity().sendStickyBroadcast(mCallIntent);
            return true;
        }
接下来就是在dialer中的实现

得先创建一个服务来实现该功能,添加文件如下:

/packages/apps/InCallUI/src/com/android/incallui/SilentService.java

package com.android.incallui;

import java.util.L
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值