[問題] Context and Activity 問題

看板AndroidDev作者 (principal component QQ)時間6年前 (2018/05/04 17:15), 編輯推噓4(4010)
留言14則, 5人參與, 6年前最新討論串1/1
想要簡化 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://www.ptt.cc/bbs/AndroidDev/M.1525425316.A.A9F.html

05/04 17:30, 6年前 , 1F
把context當作參數傳進去或者class設一個context的成
05/04 17:30, 1F

05/04 17:30, 6年前 , 2F
員變數
05/04 17:30, 2F

05/04 17:48, 6年前 , 3F
試過了,但是 requestPermission那邊會出錯
05/04 17:48, 3F

05/04 19:31, 6年前 , 4F
Permission 那邊的AppCompat是不是import錯了? v4改成v7試
05/04 19:31, 4F

05/04 19:31, 6年前 , 5F
05/04 19:31, 5F

05/05 18:59, 6年前 , 6F
你在Permission裡面的this的type是Permission不是
05/05 18:59, 6F

05/05 18:59, 6年前 , 7F
Context吧?
05/05 18:59, 7F

05/06 00:51, 6年前 , 8F
你這是Java語法的問題 請先去找Java教學有關this的書籍
05/06 00:51, 8F

05/06 00:52, 6年前 , 9F
最快的理解方式就是所有的this前面都要加上Class的Name
05/06 00:52, 9F

05/06 00:52, 6年前 , 10F
Permission.this之類的 習慣之後再把前面的Classname省略
05/06 00:52, 10F

05/06 10:52, 6年前 , 11F
checkSelfPermission(Context context, String permis
05/06 10:52, 11F

05/06 10:53, 6年前 , 12F
sion) Google的文件上都寫參數是context了...
05/06 10:53, 12F

05/06 10:53, 6年前 , 13F
而ActivityCompat也沒有繼承Context
05/06 10:53, 13F

05/07 18:48, 6年前 , 14F
好的,謝謝
05/07 18:48, 14F
文章代碼(AID): #1Qx2IagV (AndroidDev)
文章代碼(AID): #1Qx2IagV (AndroidDev)