Comment puis-je lancer une nouvelle application en utilisant son nom de paquet ? Je n'ai pas d'informations sur l'activité principale.
Réponse
Trop de publicités?
Chethana Arunodh
Points
99
val packageName = "com.google.android.youtube"
var intent = activity!!.packageManager.getLaunchIntentForPackage(packageName)
if (intent == null) {
if (intent == null) {
intent = try {
Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=$packageName"))
} catch (e: Exception) {
Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=$packageName"))
}
}
startActivity(intent)
Pour Android 11 (niveau API 30) ou supérieur, dans AndroidManifest.xml,
<queries>
<package android:name="com.google.android.youtube" />
<package android:name="com.example.app" />
</queries>
Ou simplement nous pouvons autoriser tous les paquets (non recommandé).
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:ignore="QueryAllPackagesPermission" />
Références
- Réponses précédentes
- Plus de réponses