首页 > 解决方案 > 如何解决开机启动安卓应用的问题?

问题描述

我刚刚阅读了大量类似的问题,但没有任何帮助。

在下面的代码中,我试图在我奶奶的旧手机解锁后立即启动一个应用程序,并向她展示进入 Viber 的唯一按钮。

开机活动

class OnBoot : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
    if (Intent.ACTION_BOOT_COMPLETED == intent.action) {
        val i = Intent(context, MainActivity::class.java)
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        context.startActivity(i)
    }
}

显现

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    

    <receiver android:name=".OnBoot">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
        </intent-filter>
    </receiver>
</application>

主要活动

fun openApp(view: View) {
    val launchIntent = packageManager.getLaunchIntentForPackage(".com.viber")

if(launchIntent != null){
    startActivity(launchIntent)
} else {
    Toast.makeText(this , "No package", Toast.LENGTH_LONG).show()
}

因此,应用程序即使在模拟器上也无法启动。看到诸如“检查小米模拟器上的奇怪权限”之类的评论,我的是 Pixel 2。另外,我知道 Viber 包名称是错误的,我知道它应该在哪里,但在模拟器中找不到它,希望能在评论中提供提示。

也许对任务有任何想法?

标签: androidkotlin

解决方案


推荐阅读