startActivityForResult() запускает другое приложение, но мгновенно возвращает RESULT_CANCELED

#android #startactivityforresult

#Android #начальная активностьдлярезультата

Вопрос:

Когда я пытаюсь запустить другое приложение через getLaunchIntentForPackage() с помощью нового API androidx.activity.result, запускается это другое приложение, но в моем вызывающем приложении я сразу же получаю RESULT_CANCELED.

Что я делаю не так?

 class MainActivity : AppCompatActivity() {   private val startForResult =  registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result: ActivityResult -gt;  if (result.resultCode == Activity.RESULT_OK) {  findViewByIdlt;TextViewgt;(R.id.message)?.text = "RETURNED OK!! "  }  else if (result.resultCode == Activity.RESULT_CANCELED) {  findViewByIdlt;TextViewgt;(R.id.message)?.text = "RETURNED CANCELED!!"  }  }   override fun onCreate(savedInstanceState: Bundle?) {  super.onCreate(savedInstanceState)  setContentView(R.layout.main_activity)   val button = findViewByIdlt;MaterialButtongt;(R.id.button)  button.setOnClickListener {  startForResult.launch(getMyapplicationIntent())  }  }   private fun getMyapplicationIntent(): Intent? {  return packageManager.getLaunchIntentForPackage("com.example.myapplication")  } }  

с запросами в AndroidManifest:

 lt;queriesgt;  lt;package android:name="com.example.myapplication" /gt; lt;/queriesgt;  

Комментарии:

1. Поскольку запуск Intent не возвращает результата, вы можете избавиться от большей части этого кода и просто вызвать startActivity() Intent .

2. Намерение запуска @CommonsWare не может вернуть результат? Это хорошая информация! Спасибо!