Cómo iniciar una Activity desde otra aplicación en Android con Kotlin
¡Hola, colegas! Soy un desarrollador Android principiante en Kotlin y tengo un problema. Estoy escribiendo una aplicación lanzadora que debe abrir Activities de otras aplicaciones instaladas. Por ejemplo, quiero abrir la cámara o mapas al presionar un botón. Pero no entiendo cómo componer correctamente un Intent y qué datos pasarle.
Esto es lo que he probado:
```kotlin
val intent = Intent()
intent.action = Intent.ACTION_VIEW
intent.data = Uri.parse("com.example.targetapp")
startActivity(intent)
```
Pero esto causa un crash con el error `android.content.ActivityNotFoundException`. También probé obtener PackageManager y llamar a `getLaunchIntentForPackage()`:
```kotlin
val pm = packageManager
val intent = pm.getLaunchIntentForPackage("com.whatsapp")
startActivity(intent)
```
Esto funciona para WhatsApp, pero no para todas las aplicaciones. Por ejemplo, para la aplicación "Notas" (com.example.notes) devuelve null. ¿Por qué ocurre esto? ¿Y cómo abrir correctamente una Activity específica dentro de una aplicación, en lugar de solo la Activity principal?