[問題] 初學 onCreate 內部觀念問題

看板AndroidDev作者 (principal component QQ)時間6年前 (2018/05/08 14:23), 編輯推噓1(106)
留言7則, 3人參與, 6年前最新討論串1/1
先附上我的 code ,這是一個要求權限的簡單練習 https://ideone.com/7Oc0El 第一個是我想在 onCreate 中簡化我的 code 把裡面內容寫到一個 Permission class 其中裡面有一個 askPermission 方法 而且 onRequestPermissionsResult 這個 callback 也在 Permission 中改寫 這樣我只要在 onCreate 中改寫成 "Permission().askPermission" 就好了 也可以不用在 MainActivity 中看到 onRequestPermissionsResult 第二個問題是我想在 要求權限/已經有權限 以後才執行 Log.i(tag,"Ok, the permission is agree, then you can write some work!!!!") 我的這個例子每次 run 都會跑出這個 Log 然後模擬器出現要求權限 這樣很不合理 = = 我想要求完權限再給我 Log 就是一個我要先要求權限 接著繼續把 onCreate 跑完 => onStart => onResume 小弟初學在網路有看到一些例子 但是測試以後發現第一個問題可以部份解決,但第二個問題還是一樣 求指教 以下是資料連結 https://stackoverflow.com/questions/50206419/override-fun-onrequestpermissionsresult-on-other-class https://stackoverflow.com/questions/50171998/how-to-use-this-and-context-in-other-class-android-kotlin -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.71.94.20 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1525760631.A.D73.html

05/08 15:25, 6年前 , 1F
這樣那個Log要寫在onRequestPermissionsResult裡呀
05/08 15:25, 1F

05/08 16:10, 6年前 , 2F
requestPermissions是non-block的行為, 會有另一個activity跑
05/08 16:10, 2F

05/08 16:12, 6年前 , 3F
在你的前景顯示權限要求UI, 而你原本的activity會退到背景
05/08 16:12, 3F

05/09 00:10, 6年前 , 4F
你可以多寫一點 就會知道onRequestPermissionsResult()是必要
05/09 00:10, 4F

05/09 00:10, 6年前 , 5F
的 有個很重要的概念是onCreate()、onStart()這類function
05/09 00:10, 5F

05/09 00:11, 6年前 , 6F
是"你寫好這時候要幹嘛 然後別人(呼叫這個APP的 也就是系統)
05/09 00:11, 6F

05/09 00:12, 6年前 , 7F
照他的步驟呼叫這些function
05/09 00:12, 7F
文章代碼(AID): #1QyK9trp (AndroidDev)
文章代碼(AID): #1QyK9trp (AndroidDev)