首页 > 编程知识 正文

安卓手机怎么开机启动应用,安卓app开机自动运行

时间:2023-05-03 22:53:19 阅读:172182 作者:1857

方案1

将APP置于系统APP下,直接安装在system/app目录中

具体步骤如下。

在安卓制造文件中,添加

安卓: shared userid=' Android.uid.system '

例如:

image.png

2 .直接用adb命令在system/app下推送你的apk,重启手机即可

方案2

1 .创建广播收件人

packageitbird.com.my application 33;

import Android.app.activity manager;

import Android.content.broadcast receiver;

import android.content.Context;

import android.content.Intent;

import android.util.Log;

import java.util.List;

//*

* Created by xfkang on 2018/5/7。

*/

publicclassmyreceiverextendsbroadcastreceiver {

@Override

公共语音接受(context context,Intent intent ) )。

if(intent==null ) {

返回;

}

log.d('myreceiver ',intent.getAction ) );

if (! isrun(context,' itbird.com.myapplication33 ' ) ) ) }

intent.setclass(context,MainActivity.class );

intent.setflags (intent.flag _ activity _ new _ task );

context.startactivity(intent );

}

}

//*

确定APP应用程序是否正在运行

*

* @param context

* @return

*/

publicbooleanisrun (上下文上下文,字符串包名称) )。

activitymanageram=(activity manager ) context.getsystemservice (context.activity _ service );

list list=am.getrunningtasks (100;

布尔型isapprunning=false;

//100表示获取的任务的最大数量,info.topActivity表示当前正在运行的Activity,在info.baseActivity表系统的后台运行该进程

活动管理器. runningtaskinfoinfo :列表(for ) )

info.top activity.get package name (.equals ) (package name|| info.base activity.get package name ) )

isAppRunning=true;

log.d(activityserviceisrun (,info.top activity.get package name ),info.base activity.get package name )=

黑;

}

}

log.d(activityserviceisrun ),) com.ad程序. isapprunning . ) isapprunning );

返回isapprunning;

}

}

构成与接收程序对应的插入过滤器

3 .添加权限。 没有这一步,在Android 3.0之前就无法自我启动

注意

如果外部SD卡上安装了APP应用程序,则Android系统将在加载外部SD卡之前广播ACTION_BOOT_COMPLETED,因此无法接收此广播

2.flag _ include _ stopped _ packages的问题,请阅读《Android应用在未启动的情况下接受指定广播》

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。