【发布时间】:2020-11-26 09:00:23
【问题描述】:
理想情况下,我们希望我们的应用是每次重启后第一个启动的应用,它是一个系统应用,所以我们可以通过代码将其设置为默认应用吗?
【问题讨论】:
标签: android native launcher setdefault
理想情况下,我们希望我们的应用是每次重启后第一个启动的应用,它是一个系统应用,所以我们可以通过代码将其设置为默认应用吗?
【问题讨论】:
标签: android native launcher setdefault
你能做的最好的就是BOOT_COMPLETED处理
清单
<receiver
android:name="custom.package.BootReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Java端
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
// your code
}
}
}
但恐怕用这种方法你永远无法确定它是否会被调用。而且我知道一种“类型”的应用程序会更早地被调用/打开,任何应用程序都将在广播之上接收 - 设备启动器
【讨论】:
Services 和功能,它们也是开始占用宝贵的计算时间)。所以考虑创建一个启动器或使用 root 制作一些模组,你能做到的最好