首页 > 系统 > Android > 正文

Android 开机直接运行app并当做手机桌面的实例

2019-10-21 21:42:29
字体:
来源:转载
供稿:网友

直接上代码:

1.开机启动APP

1.1 写一个广播接收器,用来接收手机开机广播

`public class Receiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.e("broadCastReceiver","onReceiver..."); try {  Intent mBootIntent = new Intent(context, MainActivity.class);  // 下面这句话必须加上才能开机自动运行app的界面  mBootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  context.startActivity(mBootIntent); } catch (Exception e) {  e.printStackTrace(); } }}`

1.2 manifest中静态注册广播接收器

 <!--开机广播接受者--> <receiver android:name=".Receiver"> <intent-filter>  <!--注册开机广播地址-->  <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>

2.开机直接运行app,并把app主页面当成手机桌面

备注: 上面1中提到的,会在手机开机之后先显示系统桌面,过一会才能启动app,下面要提到的是开机直接把app Launcher页面当成手机桌面,完成一开机就直接启动app,不需要等待。

 <activity android:name=".MainActivity"> <intent-filter>  <action android:name="android.intent.action.MAIN" />  <category android:name="android.intent.category.LAUNCHER"/>  <category android:name="android.intent.category.HOME" />  <category android:name="android.intent.category.DEFAULT" />  <category android:name="android.intent.category.MONKEY"/> </intent-filter> </activity>

manifest中将主activity设置成上述样子

这个时候1中注册的广播接收器其实可以不要了,可能与手机还会有关系,留与不留都可以试试。

(很多人到这里就以为可以了,结果重启手机发现还是不行,看下面)

到这里,离成功只差关键一步,就是你需要在手机设置中找到 桌面设置 选项,找不到的可以在设置中的搜索栏搜一下,找到后你会发现桌面设置这里多了一个选项,就是你的这个app,因为加了 <category android:name="android.intent.category.HOME" />这一行,桌面设置也会把你的app当成一个桌面主题,还有一个选项是系统桌面,你需要设置成自己的app,重启手机,ok!

(我测试了华为5.1华为7.0和小米5.2三部手机,均能找到桌面设置这个选项)

如果找不到桌面设置选项,可以从手机设置–应用程序-查看所有应用程序(包括系统的应用程序),找到桌面程序之类的字眼的应用,清楚其默认设置。清除之后回到APP,按回主页面的时候应该会有类似选择默认桌面的设置项。

如果解决了你的问题,请点赞多多支持吧!

以上这篇Android 开机直接运行app并当做手机桌面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表