作者:
wheado (principal component QQ)
2018-05-04 17:15:07想要簡化 onCreate 中的程式碼
所以自己定義了一個class以及一個函數來練習
Class 是 Permission
裡面有一個 askMicrophonePermission 函數
我在 onCreate 執行 Permission().askMicrophonePermission()
很順利的進入了這個函數
但是在
ActivityCompat.checkSelfPermission(
this, android.Manifest.permission.RECORD_AUDIO)
這裡出現了問題,this要怎麼改才可以??
接著很直覺的知道
ActivityCompat.requestPermissions 的第一個參數也會出問題 = =
雖然看了有關 Context 的說明
但是似懂非懂
以下程式碼
https://ideone.com/a9gIT0
https://ideone.com/8SMxWi
https://ideone.com/NZxSmb
謝謝
把context當作參數傳進去或者class設一個context的成員變數
作者:
wheado (principal component QQ)
2018-05-04 17:48:00試過了,但是 requestPermission那邊會出錯
作者: rog43 (Ed) 2018-05-04 19:31:00
Permission 那邊的AppCompat是不是import錯了? v4改成v7試試
你在Permission裡面的this的type是Permission不是Context吧?
作者:
y3k (激流を制するは静水)
2018-05-06 00:51:00你這是Java語法的問題 請先去找Java教學有關this的書籍最快的理解方式就是所有的this前面都要加上Class的NamePermission.this之類的 習慣之後再把前面的Classname省略
checkSelfPermission(Context context, String permission) Google的文件上都寫參數是context了...而ActivityCompat也沒有繼承Context
作者:
wheado (principal component QQ)
2018-05-07 18:48:00好的,謝謝