/ Android/JAVA

Android程序开机自启动

Android提供了一个BroadcastReceiver组件来对于应用程序的运行环境进行监听,并对于各种事件进行对应的处理。使用BroadcastReceiver十分简单,我们只需要在AndroidManifest.xml或者我们的代码中进行相应的注册(这也是Android开发的两种方式)。这样之后在广播事件到来时,我们就能通过重写BroadcastReceiver的onReceive()方法来执行相应的操作。

1.新建一个类EX06_16

import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class EX06_16 extends Activity { // 本程序只需运行一次,就会日后开机时自动运行 private TextView mTextView01; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 为了快速示意,程序仅一欢迎的TextView文字作为演示 mTextView01 = (TextView)findViewById(R.id.myTextView1); mTextView01.setText(R.string.str_welcome); } }

2.新建一个继承BroadcastReceiver的类HippoStartupIntentReceiver

代码如下:

import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; // 捕捉android.intent.action.BOOT_COMPLETED的Receiver类 public class HippoStartupIntentReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 当收到Receiver时,指定开启程序(EX06_16.class) Intent mBootIntent = new Intent(context, EX06_16.class); // 设定Intent开启为FLAG_ACTIVITY_NEW_TASK mBootIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 将Intent以startActivity传送给操作系统 context.startActivity(mBootIntent); } }

3.修改AndroidManifest.xml

标签内部增加如下代码

Android程序开机自启动
Share this