作者wheado (principal component QQ)
看板AndroidDev
標題[問題] Context and Activity 問題
時間Fri May 4 17:15:07 2018
想要簡化 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
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.20
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1525425316.A.A9F.html
1F:推 ae86357961: 把context當作參數傳進去或者class設一個context的成 05/04 17:30
2F:→ ae86357961: 員變數 05/04 17:30
3F:→ wheado: 試過了,但是 requestPermission那邊會出錯 05/04 17:48
4F:推 rog43: Permission 那邊的AppCompat是不是import錯了? v4改成v7試 05/04 19:31
5F:→ rog43: 試 05/04 19:31
6F:推 aids61517: 你在Permission裡面的this的type是Permission不是 05/05 18:59
7F:→ aids61517: Context吧? 05/05 18:59
8F:→ y3k: 你這是Java語法的問題 請先去找Java教學有關this的書籍 05/06 00:51
9F:→ y3k: 最快的理解方式就是所有的this前面都要加上Class的Name 05/06 00:52
10F:→ y3k: Permission.this之類的 習慣之後再把前面的Classname省略 05/06 00:52
11F:推 ae86357961: checkSelfPermission(Context context, String permis 05/06 10:52
12F:→ ae86357961: sion) Google的文件上都寫參數是context了... 05/06 10:53
13F:→ ae86357961: 而ActivityCompat也沒有繼承Context 05/06 10:53
14F:→ wheado: 好的,謝謝 05/07 18:48