如何在开机时启动/启动应用程序Android
我想在平板电脑启动时启动我的应用程序,以便我的应用程序的主要活动是用户在启动平板电脑时看到的第一件事。
我已经阅读了关于LauncherActivity,但我不明白如何使用它。
任何人都可以帮我build议,链接或教程这个?
LauncherActivity是最好的方法,还是有其他的select?
这些代码行可能对你有帮助…
第一步:在AndroidManifest.xml中设置权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
第二步:添加这个意图在接收器中的filter,
<receiver android:name=".BootReciever"> <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
第3步:现在,您可以从Receiver类的onReceive方法启动应用程序的第一个活动。
public class BootReciever extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Intent myIntent = new Intent(context, Tabs.class); myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(myIntent); } }
如果您想在平板电脑启动时启动应用程序,则需要监听BOOT_COMPLETED操作并对其作出反应。 BOOT_COMPLETED是在系统完成启动后广播一次的广播动作。 您可以通过创build一个BroadcastReceiver来监听这个动作,然后在接收到BOOT_COMPLETED操作的意图时启动您的启动Activity。
将此权限添加到您的清单:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在你的项目中创build一个自定义的BroadcastReceiver:
public class MyBroadCastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ Intent i = new Intent(context, MyActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(i); } } }
然后通过将BroadCastReceiver添加到清单来修改清单文件:
<receiver android:name=".MyBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
通过@vishesh chandra回答是正确的。 但在某些设备上无法正常工作,因为应用程序默认安装在外部存储上。 请确保您指定了android:installLocation =“internalOnly”,否则,如果应用程序安装在SD卡中,您将不会收到任何引导完成操作。 将其添加到manifest.xml文件中的应用程序标记中,它将起作用。
我想在这个问题上补充一点,这个问题我是在这几天面对的。 我尝试了所有的答案,但这些都不适合我。 如果您使用的是Android 5.1版本,请更改这些设置。
如果您使用的是Android 5.1版,那么您必须从应用程序设置中取消select(限制为启动)。
设置>应用>你的应用>限制发射(取消select)
请看照片。