Android 8.1/9.0 一份能用的录音机源码

简介: Android 8.1/9.0 一份能用的录音机源码

源码位置


SoundRecorder


原来的源码存在如下的问题


1、app 图标不可见

2、不支持录音文件列表浏览

3、app 主界面是对话框风格


要求效果如下


aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzEwLzI0L0tOVFFJSS5wbmc.png


aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzEwLzI0L0tOVE1kQS5wbmc.png

aHR0cHM6Ly9zMi5heDF4LmNvbS8yMDE5LzEwLzI0L0tOVEtaZC5wbmc.png


8.1 和 9.0 差异


1、mk 文件不同, 9.0 需要增加 LOCAL_PRIVATE_PLATFORM_APIS := true 配置,因为系统编译时多了 check,不然会报错 Must specify LOCAL_SDK_VERSION or LOCAL_PRIVATE_PLATFORM_API。


需要我们在 mk 中添加其中任意一个配置。


LOCAL_PRIVATE_PLATFORM_APIS := true 这个属性使源码编译时能引用 hide 的 api。


LOCAL_SDK_VERSION 标记 SDK 的 version 状态,可选值为 current system_current test_current core_current


添加了 LOCAL_SDK_VERSION 可能会使编译时找不到一些类,导包失败,SoundRecorder 就是这样,所以添加了 LOCAL_PRIVATE_PLATFORM_APIS

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := SoundRecorder
#LOCAL_SDK_VERSION := current
LOCAL_PRIVATE_PLATFORM_APIS := true
include $(BUILD_PACKAGE)

2、主题设置不一样,源码是一样的,但是在 9.0 上,同样是 @android:style/Theme.Holo,menuItem 的颜色是黑色的,这样就看不清 音质 两个字,下面是一种巧妙的修改方法


packages\apps\SoundRecorder\src\com\android\soundrecorder\SoundRecorder.java

 @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);
    ...
    menu.getItem(OPTIONMENU_SELECT_FORMAT).setTitle(Html.fromHtml("<font color='#ffffff'>" +
                    getString(R.string.voice_quality) +"</font>"));
    ...
}

通过 html 标签来修改颜色

目录
相关文章
|
API 开发工具 Android开发
Android源码下载
Android源码下载
2702 0
|
存储 Ubuntu Linux
linphone android sdk 源码下载编译
linphone android sdk 源码下载编译
2421 0
linphone android sdk 源码下载编译
|
Ubuntu Java Linux
Android13源码下载及全编译流程
Android13源码下载及全编译流程
Android13源码下载及全编译流程
|
Android开发
【Binder 机制】分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )(二)
【Binder 机制】分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )(二)
571 0
|
Android开发
【Binder 机制】分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )(一)
【Binder 机制】分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )(一)
578 0
【Binder 机制】分析 Android 内核源码中的 Binder 驱动源码 binder.c ( googlesource 中的 Android 内核源码 | 内核源码下载 )(一)
|
Android开发 C++
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(二)
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(二)
471 0
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(二)
|
监控 安全 Linux
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(一)
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(一)
573 0
【Android 安装包优化】p7zip 源码交叉编译 Android 平台可执行程序 ( 下载 p7zip 源码 | 交叉编译 Android 中使用 7z 可执行程序 )(一)
|
Android开发
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(二)
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(二)
487 0
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(二)
|
Android开发 C++
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(一)
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(一)
447 0
【Android 安装包优化】WebP 应用 ( libwebp 源码下载 | Android.mk 和 Application.mk 构建脚本修改 | libwebp 函数库编译 )(一)
|
JSON API 开发工具
基于Android开发的天气预报app(源码下载)
原文:基于Android开发的天气预报app(源码下载) 基于AndroidStudio环境开发的天气app -系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows10系统下进行开发。
5883 0

热门文章

最新文章