Android使用BroadcastReceiver实现手机开机之后显示画面的功能

本文实例讲述了Android使用BroadcastReceiver实现手机开机之后显示画面的功能。分享给大家供大家参考,具体如下:

在此例中介绍了怎样使用BroadcastRececiver。使用BroadcastReceiver需要继承这个类,并且重写public void onReceiver(Context context,Intent intent)这个方法,在这个方法中来添加想要实现的功能。

下面这个例子是实现android手机开机之后,所自动显示的画面,通过ImageView来引入一张图片,通过TextView来显示一句问候语。在每次手机开机之后都会自动显示出来。 

具体程序如下所示:

import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;
public class A01Activity extends Activity {
 private TextView tv;
 private ImageView iv;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    tv=(TextView)findViewById(R.id.tv);
    tv.setText("欢迎光临168855");
    iv=(ImageView)findViewById(R.id.iv);
    iv.setBackgroundResource(R.drawable.a);    
  }
}

然后再在同一个package中写一个类来继承BroadcastReceiver,并重写public void onReceiver(Context context, Intent intent)这个方法,程序如下:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class A01_01 extends BroadcastReceiver{
 @Override
 public void onReceive(Context arg0, Intent arg1) {
 // TODO Auto-generated method stub
 Intent i=new Intent(arg0,A01Activity.class);
 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 arg0.startActivity(i);
 }
}

为了捕捉系统开机所广播的开机ACTION信息,必须在AndroidManifest.xml里的<application>当中设置<receiver>标记,并将其中的intent-filter名称指定为Android.intent.action.BOOT_COMPLETED。其中AndroidManifest.xml如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.my.a01"
  android:versionCode="1"
  android:versionName="1.0" >
  <uses-sdk android:minSdkVersion="10" />
  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
      android:name=".A01Activity"
      android:label="@string/app_name" >
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <receiver android:name="A01_01">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
        <category android:name="android.intent.category.HOME"></category>
      </intent-filter>
    </receiver>
  </application>
</manifest>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android布局layout技巧总结》、《Android视图View技巧总结》及《Android开发入门与进阶教程》

希望本文所述对大家Android程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#niaoge.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。