zoukankan      html  css  js  c++  java
  • Android 开机启动程序

    做一个Android开机就会自动启动的程序,该程序只要启动一次,以后开机就会自动启动,直到删除该程序。

    Android开机事件会发送一个叫做Android.intent.action.BOOT_COMPLETED的广播信息。只要我们接收这个action并在receiver中启动我们自己的程序就可以实现了。

    具体实现如下。

    先建一个简单的activity:

     

    Hello.java

    1. public class Hello extends Activity {  
    2.     /** Called when the activity is first created. */  
    3.     @Override  
    4.     public void onCreate(Bundle savedInstanceState) {  
    5.         super.onCreate(savedInstanceState);  
    6.         setContentView(R.layout.main);  
    7.     }  
    8. }  

    然后设置一个receiver接收系统发出的广播消息

    StartupReceiver.java

    1. public class StartupReceiver extends BroadcastReceiver {  
    2.   
    3.     @Override  
    4.     public void onReceive(Context context, Intent intent) {  
    5.         // TODO Auto-generated method stub   
    6.         Intent i = new Intent(context,Hello.class);  
    7.         i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    8.         //将intent以startActivity传送给操作系统   
    9.         context.startActivity(i);  
    10.   
    11.     }  
    12.   
    13. }  

    然后在AndroidManifest.xml中添加

    AndroidManifest.xml

    1. <manifest xmlns:Android="http://schemas.android.com/apk/res/android"  
    2.       package="mzz.startup"  
    3.       Android:versionCode="1"  
    4.       Android:versionName="1.0">  
    5.     <application Android:icon="@drawable/icon" android:label="@string/app_name">  
    6.         <activity Android:name=".Hello"  
    7.                   Android:label="@string/app_name">  
    8.             <intent-filter>  
    9.                 <action Android:name="android.intent.action.MAIN" />  
    10.                 <category Android:name="android.intent.category.LAUNCHER" />  
    11.             </intent-filter>  
    12.         </activity>  
    13.         <receiver Android:name=".StartupReceiver">  
    14.             <intent-filter>  
    15.                 <action Android:name="android.intent.action.BOOT_COMPLETED" />  
    16.                 <category Android:name="android.intent.category.HOME" />  
    17.             </intent-filter>  
    18.         </receiver>  
    19.     </application>  
    20.     <uses-sdk Android:minSdkVersion="8" />  
    21.   
    22. </manifest>   
    这样启动了一次该程序之后,以后开机就会自动启动该程序了。
  • 相关阅读:
    第23章 SEH结构化异常处理(1)_系统SEH机制
    第22章 DLL注入和API拦截(3)
    第22章 DLL注入和API拦截(2)
    第22章 DLL注入和API拦截(1)
    驾训平台数据同步实现
    socket编程 —— 非阻塞socket (转)---例子已上传至文件中
    linux tcpdump命令抓包
    VMware虚拟机克隆CentOS 6.5后网卡修改方法
    centos vi显示中文
    不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/*** ( 转)
  • 原文地址:https://www.cnblogs.com/yuzaipiaofei/p/4124395.html
Copyright © 2011-2022 走看看