作者rex921 (小雷)
看板AndroidDev
标题Re: [问题] 使用 startActivityForResult
时间Mon Oct 4 22:30:08 2021
※ 引述《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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1633357829.A.95E.html
※ 编辑: rex921 (36.237.185.118 台湾), 10/04/2021 22:36:16
1F:→ shihyu: 请问这样作法可以让 UI 不跳出来? 10/08 21:36
2F:→ rex921: 你最初的问题是没继承activity,而是 AppCompatActivity 10/10 23:54
3F:→ rex921: 上述的code是可以让你呼叫到StartActivityForResult 10/10 23:54
4F:→ rex921: 如果你用回原本的单一activity,不要另外lanuch一个,然後 10/10 23:56
5F:→ rex921: 看你在什麽情况去执行registerLauncher.launch(it) 10/10 23:56