Android如何实现程序自启动

    xiaoxiao2021-03-25  119

    1.首先我们需要创建一个广播接收者,自定义一个类去继承BroadcastReceiver,然后重写onReceive()方法,在其中启动你要启动的app或者service,例如;

    public class SelfStarting extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent service = new Intent(context, SelfStarting.class); context.startService(service); Log.d("chg","开机自启动成功!"); //启动应用,参数为需要自动启动的应用的包名   Intent launchIntentForPackage = context.getPackageManager() .getLaunchIntentForPackage("com.example.johncheng.appselfstarting"); context.startActivity(launchIntentForPackage); //当应用安装在SD中时需要添加如下代码:          if (intent.getAction().equals(Intent.ACTION_MEDIA_MOUNTED) || intent.getAction().equals(Intent.ACTION_MEDIA_UNMOUNTED))   {      Intent launchIntent = new Intent(context, Login_Activity.class);      launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      context.startActivity(launchIntent);  } }

    2.在清单文件中配置我们的广播,

    <receiver android:name=".SelfStarting"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> //当应用安装在SD卡时,需要添加如下action,记住:需要单独放在intent_filter中,否则 BOOT_COMPLETED无法监听到 <intent-filter> <action android:name="android.intent.action.MEDIA_MOUNTED"/> <action android:name="android.intent.action.MEDIA_UNMOUNTED"/> </intent-filter> </receiver>

    3.添加相应的权限

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> 这样就完成了应用的开机自启动。

    转载请注明原文地址: https://ju.6miu.com/read-16767.html

    最新回复(0)