精华内容
下载资源
问答
  • 之前在公司项目上遇到问题,主要是通过checkPermission方法在大部分国产手机上并不好用。。。比如华为。。。比如小米。。。 国产手机很多都对权限部分自行进行了改造设计。导致运行时判断根本拿不到正确判断值...

    之前在公司项目上遇到的问题,主要是通过checkPermission方法在大部分的国产手机上并不好用。。。比如华为。。。比如小米。。。 国产手机很多都对权限部分自行进行了改造设计。导致运行时判断根本拿不到正确的判断值。之前的解决方式普遍是通过设置targetSDK在23之下去做。这样可以避过运行时权限的问题。但是,很多用户在使用的时候还是有可能会关闭该功能的使用权限。导致使用的时候出现异常。本文是通过另一种不是很好的方式进行处理。就是在真正使用该功能前做个尝试调用。通过异常处理来判断当前是否拥有该功能的权限,虽然不是很好,但毕竟可以解决一部分问题。

     public class PermissionUtil {
        public static boolean checkCameraPermission() {
            boolean isCanUse = true;
            Camera mCamera = null;
            try {
                mCamera = Camera.open();
                Camera.Parameters mParameters = mCamera.getParameters(); //针对魅族手机
                mCamera.setParameters(mParameters);
            } catch (Exception e) {
                isCanUse = false;
            }
    
            if (mCamera != null) {
                try {
                    mCamera.release();
                } catch (Exception e) {
                    e.printStackTrace();
                    return isCanUse;
                }
            }
            return isCanUse;
        }
    
        public static boolean checkRecorderPermission(Context context) {
            boolean isCanUse = true;
            MediaRecorder mediaRecorder = null;
            File file = null;
            try {
                file = new File(context.getCacheDir(),"testAudioRecordPermission");
                mediaRecorder = new MediaRecorder();
                mediaRecorder.reset();
                mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
                mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
                mediaRecorder.setOutputFile(file.getAbsolutePath());
                mediaRecorder.prepare();
                mediaRecorder.start();
            } catch (Exception e) {
                isCanUse = false;
            }
            if (mediaRecorder != null) {
                try {
                    mediaRecorder.release();
                    mediaRecorder = null;
                    if(file != null && file.exists()){
                        file.deleteOnExit();
                    }
                } catch (Exception e) {
                    return isCanUse;
                }
            }
            return isCanUse;
        }
    }
    展开全文
  • --关于Android动态权限和targetSdkVersion Android系统自6.0开始,提供动态权限... 在Android使用动态权限,要求APP编译目标sdk(即targetSdkVersion)为23及以上,22及以下系统会执行缺省处理(手机厂商也可能...

    --关于Android动态权限和targetSdkVersion

        Android系统自6.0开始,提供动态权限机制,对于敏感权限(存储,定位,录音,拍照,录像等),需要在APP运行过程中动态向用户申请,这点和IOS系统使用体验一致。
        在Android上使用动态权限,要求APP编译的目标sdk(即targetSdkVersion)为23及以上,22及以下系统会执行缺省处理(手机厂商也可能定制处理),APICloud为简便开发,默认配置targetSdkVersion为20,即走系统缺省处理,不允许更改。

    --有许多原生APP转到APICloud开发后,因targetSdkVersion降级而导致无法覆盖安装;另外自2018年11月开始,GooglePlay将要求APP编译目标sdk必须为26及以上,否则不予提交审核。

    --现介绍如何自定义编译targetSdkVersion值:

    1、下载附件中的manifest.xml,将其中的targetSdkVersion更新为目标值,例如26;
    2、将manifest.xml置于你的/项目代码/res/目录下(widget/res/manifest.xml),提交代码;
    3、云编译界面勾选APP所需的权限;

    4、使用升级环境编译 即可。

    --注意:当你设置的targetSdkVersion大于等于23时,即开启了动态权限,如果你的APP带有定位,录音,拍照,录像等敏感功能时(所有权限见文档),必须使用动态权限机制,先判断是否具有该功能操作权限,再进行操作,如果不具备相应的权限,对应的功能是失效的(也可能导致崩溃)。涉及的两个API:hasPermission | requestPermission

    补充:当你设置的targetSdkVersion大于等于23时,如果是编译自定义loader,安装到手机后,需要先在设置中给应用打开存储空间权限。否则,WiFi同步后,loader无法正常加载代码。

    为保证动态权限尽可能适配更多厂商的手机以及顺利上线Google Play,targetSdkVersion目前推荐设置为26.

    转载于:https://www.cnblogs.com/APICloud/p/apicloud.html

    展开全文
  • flutter录音及播放列表

    2021-04-01 11:30:18
    最近这段时间一直想做一个小功能就是录音录音播放,这个其实本来就有插件可供参考,像:flutter_sound 录音功能插件,audioplayers 音频播放插件。...还有权限设置: <uses-permission an

    最近这段时间一直想做一个小功能就是录音及录音播放,这个其实本来就有插件可供参考的,像:flutter_sound 录音功能的插件,audioplayers 音频播放的插件。
    这两个插件都已经是很成熟了,然而要怎么组合起来,,组合起来会有什么问题,这都要你经过开发才会知道。
    废话少说,我们先看一下这个小的功能样式,上图:
    在这里插入图片描述
    播放列表页
    在这里插入图片描述
    录音页
    播放列表是用的audioplayers 播放,安卓手机和苹果都需要对权限的配置,
    其中安卓需要设置:
    在这里插入图片描述
    还有权限设置:
    在这里插入图片描述

    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    设置完成后基本就可以运行项目了。
    对于iOS方面:
    由于我们引用了

    #  权限处理
      permission_handler: ^5.0.1
    

    权限管理,然后我们还需要录制声音,所以我们需要在info.plist文件中添加麦克风权限。
    如果你是由苹果开发转的flutter开发我想你应该不用我交,直接在xcode中就修改了,但如果你不是的话,看图:
    在这里插入图片描述
    按照上面的目录,添加这个值:

    <key>NSMicrophoneUsageDescription</key>
    	<string>App需要您的同意,才能访问麦克风</string>
    

    同时如果你发现你的项目还是无法运行,那么就继续执行:
    podfile中的操作,这个我在另一篇文章中详细介绍过:
    flutter项目权限设置报错
    将这些问题都解决后,这个项目你基本上就已经可以运行了,至于具体代码,我就不在这里罗列了,可参照:flutter_app.zip
    如果你不想花钱下载,点关注私信我呦!!!
    说一下遇到的几个问题:
    1、当我们进入录音界面时,点击录音,开始录音,这时需要对删除和保存按钮进行隐藏,当录音完成后再令这两个按钮显示,录音按钮隐藏。这样做的目的是避免在你录音的同时执行了删除操作,致使路径被删除但你的录音还在继续,就会报错。
    2、录音的过程中进入列表页,去播放列表中的声音,这样就会导致你在录制过程中监听录音部分被打断,当你再回来时,无法继续录音
    3、在录音界面与播放界面来回切换时,我们需要录音界面每次被呈现都重新去初始化一次录音配置,别问我为什么,我操作的时候,如果不能重新初始化,那么就会录音失败。
    总结一下:
    虽然这仅仅是一个简简单单的小功能,但是在制作的过程中,还真是碰到过不小的问题,即使是目前的项目,也是有bug,但目前工作有些许繁忙,就先不去继续研究,留待后续各位谁有更好的办法去解决这些问题吧!!!

    展开全文
  • 在每个项目AndroidManifest.xml文件中配置#录音,录制声音通过手机或耳机麦克#结束系统任务#访问网络#唤醒锁定,允许程序在手机屏幕关闭后后台进程仍然运行#读取电话状态#写入外部存储,允许程序写入外部存储,...

    在每个项目的AndroidManifest.xml文件中配置

    #录音,录制声音通过手机或耳机的麦克

    #结束系统任务

    #访问网络

    #唤醒锁定,允许程序在手机屏幕关闭后后台进程仍然运行

    #读取电话状态

    #写入外部存储,允许程序写入外部存储,如SD卡上写文件

    #

    #读写系统设置,允许读写系统设置项

    #允许振动

    #挂载文件系统,挂载、反挂载外部文件系统

    #获取网络状态,获取网络信息状态,如当前的网络连接是否有效

    #显示系统窗口,显示系统窗口

    #获取WiFi状态,获取当前WiFi接入的状态以及WLAN热点的信息 #改变WiFi状态 #获取精确位置,通过GPS芯片接收卫星的定位信息,定位精度达10米以内 #访问定位额外命令,允许程序访问额外的定位提供者指令 #获取大致位置,通过WiFi或移动基站的方式获取用户的经纬度信息,定位精度大概误差在30~1500米 #获取网络状态,获取网络信息状态,如当前的网络连接是否有效 #改变网络状态,改变网络状态如是否能联网 #

    展开全文
  • 安卓动态权限

    2019-02-15 20:45:09
    最近做安卓项目需要实现录音等功能,现在的手机基本都是安卓6.0以上,所以不可避免要面临设置动态权限,步骤如下: 1、首先在要申请权限的界面定义全局变量的权限数组和请求状态码; private static ...
  • Android动态申请权限

    2018-09-20 22:52:31
     之前写了一篇关于AudioRecord录音转码文章,在调试过程中还是遇到了权限的问题,现在的手机版本基本都用了Android6.0以上版本,权限分为普通权限和危险权限,对于危险权限来说,我们就需要进行动态设置了...
  • 网络版增加了业务记录字段查看权限功能,可以设置业务记录字段信息对那些客户端可见 增加了自定义通讯录列表记录颜色功能,用户可以根据自己喜好重新设定列表记录颜色 网络版服务器端增加了查询即时消息...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...
  • 实例063 利用选择控件实现权限设置 74 实例064 利用选择控件实现复杂查询 76 2.7 ListView控件应用 78 实例065 ListView列表拒绝添加重复信息 78 实例066 将数据库数据添加到ListView控件 80 实例067 用...
  • 中国好铃声 2.9.12

    2015-01-08 03:15:15
    检索当前运行应用程序▪ 更改您音频设置▪ 装载和卸载文件系统▪ 拦截外拨电话▪ 读取联系人数据▪ 读取手机状态和身份▪ 开机时自动启动▪ 录音▪ 修改/删除 SD 卡中内容▪ 显示系统级警报▪ 控制振动器▪ ...
  • 如果您打算在手机上恢复出厂设置,请在执行操作前确保默认备份文件夹位于外部SD卡中。如果没有,请复制整个备份文件夹(默认情况下为“ SmsContactsBackup”)到外部SD卡 ★重要注意事项#2 自Android M起,第3...
  • (11)软拨号功能:无需拿起听筒、无需手工拨号,系统可利用电脑屏幕上的电话号码自动拨号,利用耳麦直接通话,非常适合客服人员使用。 (12)可定制统计报表:利用精心设计的报表定制功能,您只需几个简单步骤就可...
  • 1、增加订餐记录保存后,短讯内容会自动复制到系统剪贴板,用户可直接粘贴到飞信软件或QQ软件里,将短讯免费发送到配送员的手机上; ---------------------------------------------------------------------------...
  • 在此基础之上,稍作定制即可实现一部手机上的“虚拟手机”。当然您也可以发挥想象,定制成应用于数据加密,数据隔离,隐私保护,企业管理的应用系统。 对于内部App的完全控制能力 VA对于内部的App具有完全的监控和...
  • ✓只需轻轻一按即可开始录制带声音的手机上的所有内容,只需轻按一下即可暂停/恢复。 ✓简单的界面,在播放时非常容易记录游戏,录制视频通话或现场表演,捕捉屏幕截图,记录屏幕和编辑图像。 ✓高品质和自定义设置...
  • 8.录音及外线设置 可设置软件是否自动录音,根据自己电脑硬盘大小设置录音文件是否删除,删除话 留存多少天删除。特有外线过滤功能可设置任意外线号码,轻松过滤来电前外线 9.客户资料录入 可通过软件...
  • 6、来电及录音功能:系统接来电录音盒后,用户打电话来可以自动弹出该用户相关信息、历史维修记录等,这样可以简化信息录入以及了解用户以前维修情况。与用户通话记录也可以录音。 7、短信功能:系统通过...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...
  • 拨打电话——Intent.ACTION.CALL的使用 5.3 自制发送短信程序——SmsManager与PendingIntent对象 5.4 自制发送Email程序——Intent在Email上的使用 5.5 自制日历手机数据库——实现SQLiteOpenHelper 5.6 手机震动的...
  • 8.9设置远程下载音乐为手机铃声——ringtonemanager与 铃声存放路径 8.10远程下载桌面背景图案——urlconnection与setwallpaper()搭配 8.11将手机文件上传至网站服务器——模拟http formpost action 8.12移动...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动...
  • 酒水自动出品并且打单,同时酒水员名字出现在出品单),根据后台参数设置出品是否需要刷卡(如选择自动出品则不需要刷卡) 5.结帐单中酒水增加按物品类别小计项目(根据后台参数控制是否打印) 6.出品查询增加打印...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...
  • 8.9 设置远程下载音乐为手机铃声——RingtoneManager与铃声存放路径 8.10 远程下载桌面背景图案——URLConnection与setWallpaper()搭配 8.11 将手机文件上传至网站服务器——模拟HTTPFORMPOSTACTION 8.12 移动博客...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

手机上的录音权限设置