数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件编程开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程数据库工具网络安全软件教学vbscript正则表达式javascript批处理更多»编程更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发数据库服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件编程开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

Android6.0权限判断弹出的给权限框没有截断按钮ontouch事件的down-CSDN论坛

来源:互联网  责任编辑:小易  
本网有用户碰到这样的问题:Android6.0权限判断弹出的给权限框没有截断按钮ontouch事件的down-CSDN论坛,具体问题如下:

6.0权限和ontouch

本网根据需求用户需求,为用户寻得以下其他网友提供的解决方法,方法仅供参考,具体如下:

解决方案1:

有没有大神啊

解决方案2:

居然有个大神

解决方案3:

补充一下,就是第一次按下按钮的时候判断权限会有问题   之后就没有问题了,第一次弹出给权限的框后界面会退,但是给权限正常

解决方案4:

引用 2 楼 qq_34364155 的回复:
居然有个大神

大神,这个ontouchu这块儿怎么解决,就第一次给权限会有问题

解决方案5:

是什么BUG啊,判断权限放 外面onCreate 去不更好么。 

解决方案6:

引用 5 楼 qq_34364155 的回复:
是什么BUG啊,判断权限放 外面onCreate 去不更好么。 

bug就是第一次触摸按下录音按钮,弹出给权限的系统框后,界面崩了,退回上个界面,放在onCreate中不是不太好,用户点击录音按钮的时候才应该提示权限啊

解决方案7:

第一次给权限是 没执行 StartRecord();//启动录音方法
所有在 MotionEvent.ACTION_UP://抬起 时会报错

解决方案8:

引用 7 楼 qq_34364155 的回复:
第一次给权限是 没执行 StartRecord();//启动录音方法
所有在 MotionEvent.ACTION_UP://抬起 时会报错

我试下

解决方案9:

    加个 return 看看               
                      //判断权限
                              if (ContextCompat.checkSelfPermission(HiddenDangerUploadActivity.this,
                                Manifest.permission.RECORD_AUDIO)
                                != PackageManager.PERMISSION_GRANTED) {
                                    ActivityCompat.requestPermissions(HiddenDangerUploadActivity.this,
                                    new String[]{Manifest.permission.RECORD_AUDIO},
                                    MY_PERMISSIONS_REQUEST_RECORD_AUDIO);
                                    return true;
                        }else{
                                    StartRecord();//启动录音方法
                        }

解决方案10:

引用 9 楼 qq_34364155 的回复:
    加个 return 看看               
                      //判断权限
                              if (ContextCompat.checkSelfPermission(HiddenDangerUploadActivity.this,
                                Manifest.permission.RECORD_AUDIO)
                                != PackageManager.PERMISSION_GRANTED) {
                                    ActivityCompat.requestPermissions(HiddenDangerUploadActivity.this,
                                    new String[]{Manifest.permission.RECORD_AUDIO},
                                    MY_PERMISSIONS_REQUEST_RECORD_AUDIO);
                                    return true;
                        }else{
                                    StartRecord();//启动录音方法
                        }


这个试过 不行

解决方案11:

那 case MotionEvent.ACTION_UP://抬起  这里也加个权限判断呗,没权限  就什么都不做  ,有权限才执行那些代码

解决方案12:

引用 7 楼 qq_34364155 的回复:
第一次给权限是 没执行 StartRecord();//启动录音方法
所有在 MotionEvent.ACTION_UP://抬起 时会报错

不是这个问题   第一次触摸按钮 弹出给权限的框了,但是录音方法应该是也执行了,因为动画也在播放,按钮现在没按还是按下状态,动画一直在播放

解决方案13:

引用 11 楼 qq_34364155 的回复:
那 case MotionEvent.ACTION_UP://抬起  这里也加个权限判断呗,没权限  就什么都不做  ,有权限才执行那些代码

但是现在是第一次按下判断权限,然后那个StartRecord()方法里面的动画什么的都执行了,就是触摸事件和弹出的框的问题,估计不能截断

解决方案14:

引用 11 楼 qq_34364155 的回复:
那 case MotionEvent.ACTION_UP://抬起  这里也加个权限判断呗,没权限  就什么都不做  ,有权限才执行那些代码

抬起里面也加权限判断后
提示这个方法中索引越界

原因应该是按下后已经执行过了这个方法  已经有权限了  现在这个数组长度是0

解决方案15:

引用 14 楼 cuixujie 的回复:
Quote: 引用 11 楼 qq_34364155 的回复:

那 case MotionEvent.ACTION_UP://抬起  这里也加个权限判断呗,没权限  就什么都不做  ,有权限才执行那些代码

抬起里面也加权限判断后
提示这个方法中索引越界

原因应该是按下后已经执行过了这个方法  已经有权限了  现在这个数组长度是0


早贴出错误码来多好啊,
加个判断呗,数组长度是0就 return 掉

解决方案16:

引用 15 楼 qq_34364155 的回复:
Quote: 引用 14 楼 cuixujie 的回复:

Quote: 引用 11 楼 qq_34364155 的回复:

那 case MotionEvent.ACTION_UP://抬起  这里也加个权限判断呗,没权限  就什么都不做  ,有权限才执行那些代码

抬起里面也加权限判断后
提示这个方法中索引越界

原因应该是按下后已经执行过了这个方法  已经有权限了  现在这个数组长度是0


早贴出错误码来多好啊,
加个判断呗,数组长度是0就 return 掉

这都是后来的步骤了,现在是第一次按下录音按钮  给权限的框弹出了,给了权限后  录音方法里的动画也在播放  弹出的给权限框拦截了按钮的UP,给了权限后按钮还是Down的状态  录音动画还在播放   按钮文字还是松开保存

解决方案17:

弹出的给权限框怎么能截断按钮的按下状态,而且疑惑的是第一次判断里面else才进入录音方法 才能播放动画 现在第一次明明是if方法里面的   为什么能执行了else里面的录音动画

解决方案18:

现在第一次点击按钮的效果图

弹出了给权限的框,但是给过后现在手指没有按着按钮,录音动画还在播放
如图
再点一下才彻底恢复正常

解决方案19:

引用 17 楼 cuixujie 的回复:
弹出的给权限框怎么能截断按钮的按下状态,而且疑惑的是第一次判断里面else才进入录音方法 才能播放动画 现在第一次明明是if方法里面的   为什么能执行了else里面的录音动画

大概是给了权限后一直还是在 按下状态 所以就执行了 else 了,但是为什么一直在 按下状态 呢。。。。return 也退出不了么。

解决方案20:

我去,冷静看了下代码  发现问题的地方了

网上的判断权限方法都是在onCreate中写的   然后回调方法中再调用要执行的方法

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults)
    {

        if (requestCode == MY_PERMISSIONS_REQUEST_RECORD_AUDIO) {
            if(grantResults.length==0){
                return;
            }
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
               // StartRecord();
            } else
            {
                // Permission Denied
                Toast.makeText(HiddenDangerUploadActivity.this, "没有录音权限,请在手机设置中添加权限", Toast.LENGTH_SHORT).show();
            }
            return;
        }
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }

我这里把StartRecord();方法注了就没问题了

解决方案21:

我去。。

  • 本文相关:
  • 站长必读,如何真正写好一篇原创文章
  • 互联网之路细嗅蔷薇 资深站长分享掘金之道
  • 企业站的站长的工作重心究竟有哪些
  • 浅析:行业门户网站的一些盈利模式
  • 3000IP的企业网站每天订单不到30个的苦恼
  • 网站想内外兼修?先学习提高网站可用性的6大原则
  • 浅谈网页设计中的简约之美
  • 网页改版实战:日本设计师如何彻底优化旅游网站?
  • 网页改版实战!日本设计师如何彻底优化招聘网站?
  • 2015年值得关注的21个网页设计趋势
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved