android端开机自启动程序

最近写的项目,要求在开启平板后,将编写的程序也一并开启

1、首先是发送广播,当收到static final String ACTION="android.intent.action.BOOT_COMPLETED"时,则认为收到开启启动命令

编写类

package com.broad.cn;
import com.herorobot.cn.MainActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootBroadcastReceiver extends BroadcastReceiver{
 static final String ACTION="android.intent.action.BOOT_COMPLETED";
 
 @Override
 public void onReceive(Context context, Intent intent) {
  if (intent.getAction().equals(ACTION)) {
   Intent mainActivityIntent=new Intent(context,MainActivity.class);
   mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
   context.startActivity(mainActivityIntent);
   Log.v("TAG", "开机自动启动服务自动启动。。。");
   
   
  }
  
 }
}
2、在AndroidManifest.xm中的
<application中添加
 <receiver android:name="com.broad.cn.BootBroadcastReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.LAUNCHER"/>   
            </intent-filter>
        </receiver>
3、添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 

在程序中添加以上代码即可,需要注意的是,在android平板启动后,首先进入的是桌面,然后才能打开程序。。。。。这是不完美的地方,希望后期可以修改成开机后自动开启程序,而非进入桌面后才开启程序


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中让程序开机自动启动,通常有两种方式: 1. 使用广播接收器 在 AndroidManifest.xml 文件中添加以下代码: ``` <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> ``` 然后创建一个 BroadcastReceiver,在接收到 `android.intent.action.BOOT_COMPLETED` 广播时启动你的程序。 示例代码: ```java public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Intent bootIntent = new Intent(context, YourActivity.class); bootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(bootIntent); } } } ``` 在 AndroidManifest.xml 中添加以下代码: ```xml <receiver android:name=".BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </receiver> ``` 2. 使用系统服务 在 AndroidManifest.xml 文件中添加以下代码: ``` <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> ``` 然后创建一个 Service,在 `onCreate()` 方法中启动你的程序。 示例代码: ```java public class BootService extends Service { @Override public void onCreate() { super.onCreate(); Intent bootIntent = new Intent(this, YourActivity.class); bootIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(bootIntent); } @Override public IBinder onBind(Intent intent) { return null; } } ``` 在 AndroidManifest.xml 中添加以下代码: ```xml <service android:name=".BootService"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </service> ``` 注意:使用第二种方式需要在 Android 5.0 以上版本上进行测试,因为 Android 5.0 以下版本不支持在 Service 中启动 Activity。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值