Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

Android来电铃声默认设置的实现方法与如何设置语音来电的默认铃声

一、Android来电铃声默认设置的实现方法
Andoird默认来电铃声的设置方法为修改build/target/product/core.mk的ro.config.ringtone的值如
ro.config.ringtone=Backroad.ogg,该音乐文件必须于framework/base/data/sounds/Android.mk中加入音乐文件。

framework/base/media/java/android/media/MediaScanner.java中类的初始化时会设置默认铃声的文件名的变量mDefaultRingtoneFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX + Setting.System.RINGTONE);

MediaScanner该类会搜索音乐文件必插入数据库中,搜索过程中检查是否与设置的默认铃声相同,如果相同则设为默认铃声。
} else if (ringtones && mWasEmptyPriorToScan && !mDefaultRingtoneSet) {
                if (TextUtils.isEmpty(mDefaultRingtoneFilename) ||
                        doesPathHaveFilename(entry.mPath, mDefaultRingtoneFilename)) {
                    setSettingIfNotSet(Settings.System.RINGTONE, tableUri, rowId);
                    setProfileSettings(AudioProfileManager.TYPE_RINGTONE, tableUri, rowId);
                    mDefaultRingtoneSet = true;
                }
            }

二、如何设置语音来电的默认铃声
首先在core.mk中新增ro.config.videocall=BentleyDubs.ogg。
在framework/base/media/java/android/media/MediaScanner.java类中新加两个成员变量
private boolean mDefaultVideoCallSet;
private String mDefaultVideoCallFilename;
在setDefaultRingtoneFileNames()方法中加入以下代码初始化默认铃声的文件名
        mDefaultVideoCallFilename = SystemProperties.get(DEFAULT_RINGTONE_PROPERTY_PREFIX
                + Settings.System.VIDEO_CALL);
在endFile()方法中加入以下代码设置语音来电的默认铃声

            } else if (ringtones && mWasEmptyPriorToScan && !mDefaultVideoCallSet) {
                if (TextUtils.isEmpty(mDefaultVideoCallFilename) ||
                        doesPathHaveFilename(entry.mPath, mDefaultVideoCallFilename)) {
                    setSettingIfNotSet(Settings.System.VIDEO_CALL, tableUri, rowId);
                    setProfileSettings(AudioProfileManager.TYPE_VIDEO_CALL, tableUri, rowId);
                    mDefaultVideoCallSet = true;
                }
            } 

转载于:https://www.cnblogs.com/setsailwu/archive/2012/08/29/3852265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Alexa Auto 设置Android 系统的语音助手,可以按照以下步骤进行代码实现: 1. 在 AndroidManifest.xml 文件中添加以下权限: ``` <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ``` 2. 在 build.gradle 文件中添加以下依赖: ``` implementation 'com.amazon.alexa.auto:alexa-auto-apis:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-lwa:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-lwa-android:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-speech-synthesizer:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-voice-interaction:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-navigation:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-media:1.0.0' implementation 'com.amazon.alexa.auto:alexa-auto-assistant:1.0.0' ``` 3. 在 Android 应用程序的主 Activity 中添加以下代码: ``` private AlexaAutoManager mAlexaAutoManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化 AlexaAutoManager mAlexaAutoManager = AlexaAutoManager.getInstance(getApplicationContext()); // 开始 Alexa Auto mAlexaAutoManager.startAlexaAuto(); } @Override protected void onDestroy() { super.onDestroy(); // 停止 Alexa Auto mAlexaAutoManager.stopAlexaAuto(); } ``` 4. 最后,在 AndroidManifest.xml 文件中添加以下代码以将 Alexa Auto 设置默认语音助手: ``` <activity-alias android:name=".AssistProxyActivity" android:targetActivity=".MainActivity" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:enabled="true" android:exported="true" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.ASSIST" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <meta-data android:name="com.google.android.gms.actions.DEFAULT_VOICE_SEARCH_HANDLING_MODE" android:value="voice_search_only" /> <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" /> </activity-alias> ``` 经过以上步骤,就可以将 Alexa Auto 设置Android 系统的默认语音助手了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值