android - 如何解决开机启动安卓应用的问题?
问题描述
我刚刚阅读了大量类似的问题,但没有任何帮助。
在下面的代码中,我试图在我奶奶的旧手机解锁后立即启动一个应用程序,并向她展示进入 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 包名称是错误的,我知道它应该在哪里,但在模拟器中找不到它,希望能在评论中提供提示。
也许对任务有任何想法?
解决方案
推荐阅读
- dart - Dart 中的通用 getter/setter?
- excel - 如果在 Power Query 中求和
- c - 分段错误背后的原因是什么?
- azure-active-directory - 有关 Azure AD 应用程序代理连接器系统要求的问题
- python - Python 警告
- c# - 控制台程序在代码完成之前无缘无故关闭
- php - 如何在 laravel 框架中使用数组和 json 对象?
- excel - 如何粘贴到右边的下一个空单元格?
- python - 如何将变量的全部数据写入 .csv 文件?
- javascript - 启动 Meteor 应用程序时出错 + react (static-html)