【Android】5.0錄音許可權處理時遇到的問題
公司專案有這樣一個功能:按住button開始錄音,同時彈出一個提示錄音進度的dialog,鬆開button時錄音結束。
但是發現在5.0中第一次用時會有問題,按住button時系統會彈出一個許可權申請的提示框。點選允許後,button的狀態還是會保持在MotionEvent.ACTION_DOWN狀態,同時錄音進度dialog也出現,MediaRecorder也處於錄音狀態中,而這些問題出現的同時,我手指已經離開螢幕,也就是說,button沒有處於MotionEvent.ACTION_UP狀態,如果此時有其他操作時很容易引起崩潰。
後來經過對event.getAction()值的監聽發現,當點選系統許可權申請提示框的允許或拒絕時,button的狀態會走進MotionEvent.ACTION_CANCEL裡,而我沒有在這個狀態中做任何處理,就會導致手離開螢幕了卻還在錄音中。
所以只要在MotionEvent.ACTION_CANCEL裡將button的狀態恢復原狀,將dialog.dismiss掉,並取消錄音就行了。接著該幹啥就幹啥了。
相關推薦
【Android】5.0錄音許可權處理時遇到的問題
公司專案有這樣一個功能:按住button開始錄音,同時彈出一個提示錄音進度的dialog,鬆開button時錄音結束。 但是發現在5.0中第一次用時會有問題,按住button時系統會彈出一個許可權申請的提示框。點選允許後,button的狀態還是會保持在Mo
【MarketAnalysis總結】5.0使用者許可權控制
在本專案中有一個需求是對使用者進行許可權控制,包括下載、查詢的許可權,所用到的許可權表和E-R圖關係在上一篇文章【MarketAnalysis總結】4.0使用者登入等賬戶安全訪問的實現中已經說明了,這裡論述一下這個許可權控制如何實現的以及它們的安全控制。1) 下載、查詢許
【android】安卓的許可權提示及版本相關
Only dangerous permissions require user agreement. The way Android asks the user to grant dangerous permissions depends on the version of Android running o
【Unity3D】5.0版本之後的AssetBundle資源的打包和解析載入
一、前言 這幾天在研究AssetBundle資源打包盒解析載入,也踩過很多坑,參考過很多人的文章 發現很多人關於AssetBundle的文章不是API過時了不能用,就是有點亂 也不是有點亂,就是摸不著頭腦,讓人不能快速的get到這個東西如何使用 所以我特意在踩
【Android】6.0 添加Menu菜單組件
tle add 組件 toast reat .sh res text @override 1.0 在helloworld項目基礎上創建活動SecondActivity: 2.0 其中main.xml: <?xml version="1.0" encoding
【Android】13.0 UI開發(四)——列表控件RecyclerView的橫向布局排列實現
andro 上海市 tro source 構造 類繼承 ima libs ted 1.0 新建項目,由於ListView的局限性,RecyclerView是一種很好取代ListView的控件,可以靈活實現多種布局。 2.0 新建項目RecyclerviewTest,目錄如下
【Android】15.0 UI開發(六)——列表控件RecyclerView的網格布局排列實現
dir test pro 繼承 http 香港 bin too app 1.0 列表控件RecyclerView的網格布局排列實現,關鍵詞GridLayoutManager。 LinearLayoutManager 實現順序布局 GridLayoutManager 實現網格
【Android】自定義錄音、播放動畫View,讓你的錄音浪起來
前言 先看效果圖 嗯,然後大致就是這樣,按住錄音,然後有一個倒計時,最外層一個進度條,還有一個類似模擬聲波的動畫效果(其實中間的波浪會根據聲音的大小浪起來的~) 實現思路 然後,我們適當的來分析一下這個錄音動畫的實現方式。這個肯定是通過自定義控制元件
【android】關於FragmentManager動態管理Fragment時Fragment生命週期的探究
Fragment是Android中的重要元件,在Android 3.0的時候新增進來。 關於Fragment的生命週期,我相信瞭解過的開發人員都應該把以下方法脫口而出:onAttach, onCreate, onCreateView, onViewCreated, on
【Android開發-5】界面裝修,五大布局你選誰
比例 技術分享 article 嵌套 content java lin layout mark 前言:假設要開一家店,門店裝修是非常重要的事情。有錢都請專門的建築設計公司來設計裝修,沒錢的僅僅能自己瞎折騰。好不好看全憑自己的感覺。像Android開發。在移動端大家看到的
【實戰編程】編寫0號中斷處理程序
查看 com col 長度 獲取 pre p s 更改 end 題目:編寫0號中斷處理程序,在除法溢出時,在屏幕中間顯示字符串“hacker by admin!” 之前先補充一個rep movsb的指令知識 movsb和movsw是相反的,
【android】應用圖示Drawable轉Bitmap,適配安卓8.0
相信大家在載入應用圖示的時候,經常會將得到的Drawable轉成Bitmap,程式碼如下: Drawable drawable = mPackageManager.getApplicationIcon(packageName); return ((BitmapDrawable) drawabl
Android 5.0 動態許可權申請的基本流程和套路
注:本文主要是梳理一下Android動態許可權申請的一個基本套路。 需要有一定的Android編碼經驗,對於完全的新手來說,可能還有些技術細節沒有做具體解釋。 Android動態許可權申請有效保證了使用者的的安全,但是對開發者來說需要寫跟多的程式碼邏輯來跟使用者確認許可權。 先不考慮
【SpringMVC】5.處理模型資料
注意!!! 此文章需要配置了SpringDispatcherServlet和InternalResourceViewResolver才能夠使用,如果不會配置,請翻看我【SpringMVC】系列的第一篇文章《【SpringMVC】1. SpringMVC的第一個程
【Android 基礎 5.1】Drawables, styles, and themes(夜間模式)
ShapeDrawable <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <st
【從原始碼看Android】03Android MessageQueue訊息迴圈處理機制(epoll實現)
1 enqueueMessage handler傳送一條訊息 mHandler.sendEmptyMessage(1);經過層層呼叫,進入到sendMessageAtTime函式塊,最後呼叫到enqueueMessageHandler.java public bool
Android拍照及圖片裁剪、呼叫系統相簿(相容6.0以上許可權處理及7.0以上檔案管理)
前言: 最近工作修改較舊的專案時,涉及到了圖片相關功能 ,在使用安卓6.0手機及7.1手機拍照時,遇到了因許可權及檔案管理導致程式崩潰等問題。 剛好把功能修改完,把程式碼簡單地貼一下,方便以後使用。 本文demo包含以下要點: Android6.0執
【2】spring4.0.5初始化之listener
//NamespaceHandlerSupport implements NamespaceHandler 2.1 findParserForElement(element, parserContext).parse(element, parse
Retrofit2.0+Gson+RxJava 框架 之 Session保持(解決Session無效問題) 【Android】
Retrofit2.0中,每個請求之間是獨立開的,這產生一個問題,也就是如何保持Session資訊,更通俗易懂的說,就是如何保持登入狀態,如果不做任何操作,那麼不管登入多少次,都是無效的,無法進行其他許可權操作。這裡要提交到瀏覽器,瀏覽器是預設自動儲存伺服器傳送
【android】五種控制Android應用的許可權的方法
轉自:http://www.cnbeta.com/articles/181913.htm 1 為什麼Android總是事無鉅細地告訴你應用索取的每一項許可權? 相比Apple,Microsoft嚴格控制生態系統(從蘋果給開發者的"App Store Guideli