[問題] Context and Activity 問題

作者: 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
謝謝
作者: ae86357961 (Jasper.Yang)   2018-05-04 17:30:00
把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試試
作者: aids61517 (奇歐巴肯)   2018-05-05 18:59:00
你在Permission裡面的this的type是Permission不是Context吧?
作者: y3k (激流を制するは静水)   2018-05-06 00:51:00
你這是Java語法的問題 請先去找Java教學有關this的書籍最快的理解方式就是所有的this前面都要加上Class的NamePermission.this之類的 習慣之後再把前面的Classname省略
作者: ae86357961 (Jasper.Yang)   2018-05-06 10:52:00
checkSelfPermission(Context context, String permission) Google的文件上都寫參數是context了...而ActivityCompat也沒有繼承Context
作者: wheado (principal component QQ)   2018-05-07 18:48:00
好的,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com