Re: [問題] 使用 startActivityForResult

看板AndroidDev作者 (小雷)時間2年前 (2021/10/04 22:30), 2年前編輯推噓0(006)
留言6則, 2人參與, 2年前最新討論串2/2 (看更多)
※ 引述《shihyu (shihyu)》之銘言: : 我想使用 startActivityForResult 做登入 : 但是我class 沒繼承 activity 有什麼方法可以呼叫到 startActivityForResult? : 如果再啟一個 activity 但去呼叫 startActivityForResult 但 activity 不跳出UI 這方法可行? : 我查網路上啟動不顯示 UI : AndroidManifest.xml : 改成 android:theme="@android:style/Theme.NoDisplay" 但我測試不行 : 謝謝 貼這裡好了...排版苦手 https://pastebin.com/fH9wuB9u 你說你的類別繼承AppCompatActivity 那我假設你的類別會長這樣.. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //你在onCreate宣告一個launcher val registerLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { ActivityResult -> if (ActivityResult.resultCode == Activity.RESULT_OK) { //當launcher成功要執行的函數 getIntentData(ActivityResult.data) } } } //點擊按鈕觸發launcher findViewById<ImageView>(R.id.img).setOnClickListener { Intent(Intent.ACTION_GET_CONTENT).also { registerLauncher.launch(it) } } } -- 活在我不懂的道理 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.237.185.118 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1633357829.A.95E.html ※ 編輯: rex921 (36.237.185.118 臺灣), 10/04/2021 22:36:16

10/08 21:36, 2年前 , 1F
請問這樣作法可以讓 UI 不跳出來?
10/08 21:36, 1F

10/10 23:54, 2年前 , 2F
你最初的問題是沒繼承activity,而是 AppCompatActivity
10/10 23:54, 2F

10/10 23:54, 2年前 , 3F
上述的code是可以讓你呼叫到StartActivityForResult
10/10 23:54, 3F

10/10 23:56, 2年前 , 4F
如果你用回原本的單一activity,不要另外lanuch一個,然後
10/10 23:56, 4F

10/10 23:56, 2年前 , 5F
看你在什麼情況去執行registerLauncher.launch(it)
10/10 23:56, 5F

10/11 00:02, 2年前 , 6F
https://reurl.cc/Yj0jrD ,這篇不知道你嘗試過沒有?
10/11 00:02, 6F
文章代碼(AID): #1XMn05bU (AndroidDev)
討論串 (同標題文章)
文章代碼(AID): #1XMn05bU (AndroidDev)