注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

如何使Android应用开机时自动启动  

2013-07-31 17:28:01|  分类: Android开发与逆 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

如果需要在Android开机时自动启动应用程序,可以通过响应android.intent.action.BOOT_COMPLETED广播消息来实现, Android系统启动结束时,会发出 android.intent.action.BOOT_COMPLETED 消息。 具体步骤如下:

1. 定义一个Broadcast Receiver ,比如:BootupReceiver

 

[java]
public class BootupReceiver extends BroadcastReceiver{ 
  
 @Override 
 public void onReceive(Context context, Intent intent) { 
  
 //better delay some time.  
 try { 
 Thread.sleep(2000); 
 } catch (InterruptedException e) { 
 // TODO Auto-generated catch block  
 e.printStackTrace(); 
 } 
 Intent i = new Intent(context, BootupDemoActivity.class); 
 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
 context.startActivity(i); 
  
 } 
  

public class BootupReceiver extends BroadcastReceiver{
 
 @Override
 public void onReceive(Context context, Intent intent) {
 
 //better delay some time.
 try {
 Thread.sleep(2000);
 } catch (InterruptedException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 Intent i = new Intent(context, BootupDemoActivity.class);
 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(i);
 
 }
 
}

 

用于响应android.intent.action.BOOT_COMPLETED。


2. 在Manifest文件中定义该Broadcast Receiver


<receiver android:name=”.BootupReceiver” android:enabled=”true”
android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”>
<intent-filter>
<action android:name=”android.intent.action.BOOT_COMPLETED”></action>
<category android:name=”android.intent.category.DEFAULT” />
</intent-filter>


</receiver>


3. 加上所需权限


<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />


这些,但手机重启示会自动运行你的应用。 不过此时你的应用可能会被屏幕锁定挡住。解除屏幕锁定后可以看到你运行的应用。


如果想用户一开机就看到你的应用,可以使用代码就屏幕锁去除,方法如下:


1. 在Activity的onCreate事件处理中添加下面代码

[java]
KeyguardManager keyguardManager 
= (KeyguardManager)getSystemService(KEYGUARD_SERVICE); 
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE); 
  
lock.disableKeyguard(); 
KeyguardManager keyguardManager
= (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
 
lock.disableKeyguard();
2. 在Manifest文件中添加所需权限


<uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />

 \



本例代码下载:http://www.2cto.com/uploadfile/2012/0518/20120518113514147.zip

  评论这张
 
阅读(53)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017