Ich entwickle einen benutzerdefinierten Launcher für Meta Quest 2 mit Kotlin und Jetpack Compose. Ziel ist es, den Standard -Oculus -Heimwerker durch meine eigene App zu ersetzen. Nach dem Hinzufügen der erforderlichen Absichten in AndroidManifest.xml wird die App jedoch nicht als Launcher erkannt. < /P>
< /code>
Hauptaktivitätsklasse ist wie folgt < /p>
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestOrbitterApplicationTheme {
AppListScreen()
}
}
}
private fun getInstalledApps(): List {
val pm = packageManager
val apps = mutableListOf()
val packages = pm.getInstalledApplications(PackageManager.GET_META_DATA)
for (app in packages) {
val label = pm.getApplicationLabel(app).toString()
val icon = pm.getApplicationIcon(app)
val packageName = app.packageName
// Exclude system apps (optional)
if (pm.getLaunchIntentForPackage(packageName) != null) {
apps.add(AppInfo(label, icon, packageName))
}
}
return apps
}
@Composable
fun AppListScreen() {
val apps = remember { getInstalledApps() }
LazyColumn(modifier = Modifier.fillMaxSize()) {
items(apps) { app ->
AppItem(app)
}
}
}
@Composable
fun AppItem(app: AppInfo) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(10.dp)
.clickable {
launchApp(app.packageName)
},
horizontalArrangement = Arrangement.Start
) {
Image(
bitmap = app.icon.toBitmap().asImageBitmap(),
contentDescription = app.name,
modifier = Modifier.size(48.dp)
)
Spacer(modifier = Modifier.width(10.dp))
Text(text = app.name, style = MaterialTheme.typography.bodyLarge)
}
}
private fun launchApp(packageName: String) {
val intent = packageManager.getLaunchIntentForPackage(packageName)
if (intent != null) {
startActivity(intent)
} else {
Log.e("Launcher", "App not found: $packageName")
}
}
}
data class AppInfo(val name: String, val icon: Drawable, val packageName: String)
fun Drawable.toBitmap(): Bitmap {
if (intrinsicWidth
< /blockquote>
Meta Quest 2: Benutzerdefinierte Launcher nicht als Standard -Home -App (Android 2D -Anwendung) anerkannt ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post