Android开机自动启动app 不锁屏

主要参考:http://life173.blog.51cto.com/2035365/543916/

实现功能,开机后自动启动FirstActivity,并且不用解锁。

贴出源码:

主要是在配置文件中配置:

  <receiver android:enabled="true" android:name=".BootUpReceiver"    
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">    
        <intent-filter>    
                <action android:name="android.intent.action.BOOT_COMPLETED" />    
                <category android:name="android.intent.category.DEFAULT" />    
        </intent-filter>    
  </receiver>
及增加权限:  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  
整个源码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.activitytest"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
             android:name=".FirstActivity"
             android:label="this is my first Activity" >   
             <intent-filter >
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
             </intent-filter>
            
            
        </activity>
        <receiver android:enabled="true" android:name=".BootUpReceiver"    

        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">    

        <intent-filter>    

                <action android:name="android.intent.action.BOOT_COMPLETED" />    

                <category android:name="android.intent.category.DEFAULT" />    

        </intent-filter>    

        </receiver>   
     
    </application>

</manifest>

增加BootUpReceiver 类,FirstActivity就是你要开启启动的活动;

package com.example.activitytest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class BootUpReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
         Intent i = new Intent(context,FirstActivity.class);
         i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(i);
    }
}
要启动的类:FirstActivity.java 
package com.example.activitytest;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class FirstActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        //requestWindowFeature(Window.FEATURE_NO_TITLE);//要使用Menu 注释掉这句
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//开机不锁屏 设置 
        setContentView(R.layout.first_layout);
        Button button1 = (Button)findViewById(R.id.button_1);
        button1.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v){
                //Toast.makeText(FirstActivity.this,"you click button1", Toast.LENGTH_SHORT).show();
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setData(Uri.parse("http://www.baidu.com"));//setData,设置data标签  主要是tel,这个不能少 
                startActivity(intent);
            }
        });
        
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        getMenuInflater().inflate(R.menu.main, menu);
        return true;//允许创建的菜单显示出来
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item){
        switch(item.getItemId()){
        case R.id.add_item:
            Toast.makeText(this, "you click add",Toast.LENGTH_SHORT).show();
            break;
        case R.id.remove_item:
            Toast.makeText(this, "you click remove", Toast.LENGTH_SHORT).show();
            break;
        default: break;
        }
        return true;
    }
      
}

PS: 开启启动这个app,需要解屏后稍等一会,才能启动;启动APP需要一定时间。

其实还可以在开机启动时设置不锁屏。

getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//开机不锁屏 设置 放在这个前面。

setContentView(R.layout.first_layout);

时间: 2024-10-10 18:17:49

Android开机自动启动app 不锁屏的相关文章

android开机自动启动APP(用BroadcastReceive实现)

1.新建一个继承BroadcastReceive的类 public class StartBoot extends BroadcastReceiver { public StartBoot() { } @Override public void onReceive(Context context, Intent intent) { Intent intent2 = new Intent(context,MainActivity.class);// intent2.setFlags(Intent.

Android 开机自动启动服务

在前面的文章中提到了remote service 的创建过程,现在我们要让它开机自动启动 1.在前面代码的基础上添加 RemoteServiceBootReceiver.java ,实现一个intent的receiver [java] view plaincopyprint? package com.fly; import android.content.BroadcastReceiver; import android.content.Context; import android.conte

如何让A20,android开机自动启动C程序【转】

本文转载自:http://blog.csdn.net/u011258134/article/details/50749174 如何让A20,android开机自动启动C程序 2014-12-26 11:32 557人阅读 评论(3)收藏 举报  分类: C语言学习(10)  作者同类文章X 版权声明:本文为博主原创文章,未经博主允许不得转载. ///  xinit  增加:  xinit    /usr/local/bin/xfreerdp  192.168.1.196 1,修改 android

[android] 手机卫士设备管理权限锁屏

设备管理员 Device Admin 获取DevicePolicyManager对象,通过getSystemService(DEVICE_POLICY_MANAGER),设备策略管理器 调用DevicePolicyManager对象的lockNow()方法,锁定,此时会报 安全异常 新建一个类MyAdmin继承系统的DeviceAdminReceiver,这个是广播接收者 清单文件进行注册 添加<receiver>节点,设置名称 设置权限 android:permission=”android

Android 禁止屏幕休眠和锁屏的方法

Introduction 常常我们开 发程序的时候我们不需要系统唤醒系统锁屏功能,比如我们在做xxxNowTV或XXX播放器这样的程序,用户有时候在看电视或视频的时候不希望系统的锁屏 功能启动,既不想锁频,然而系统却在我们看电视或者视频的时候出来个锁屏的界面进行锁频拉,我们还要想继续看的话还要去解锁,这样好麻烦,不是我们想要 的,那我们该怎么做呢,其实很简单,我这里只讲其中的两种 一 :我们只要在程序中用代码实现.代码如下: [java] view plaincopy //方法一 getWind

Delphi XE开发 Android 开机自动启动

https://blog.csdn.net/tanqth/article/details/74357209 Android 下的广播 在Android下,要让我们开发的APP能在开机时自动启动,必须使用到Android系统下的广播.Android广播分为两个方面:广播发送者和广播接收者,通常情况下BroadcastReceiver指的是广播接收者(广播接收器). 要使广播生效必须先注册广播,实现注册就是告诉系统:要监听什么广播,和监听到之后要做什么动作完成什么工作(自定义广播重写onReceiv

Android Activity组件正常以及锁屏状态下的启动流程

前言: Activity是android的四大组件之一,它主要负责管理android应用程序的用户界面. 本文主要从framework的角度去分析activity的启动过程.activity的启动过程根据不同的情况会有一些差别,比如锁屏与非锁屏状态下的区别,activity依附的应用程序进程不存在与已经存在的区别等. 目录: 一.KK4.4从Launcher启动Activity的流程 二.应用内启动子Activity的流程 三.锁屏状态下Activity启动的流程 文章中含有大量的时序图,请直接

【腾讯Bugly干货分享】浅谈Android自定义锁屏页的发车姿势

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57875330c9da73584b025873 一.为什么需要自定义锁屏页 锁屏作为一种黑白屏时代就存在的手机功能,至今仍发挥着巨大作用,特别是触屏时代的到来,锁屏的功用被发挥到了极致.多少人曾经在无聊的时候每隔几分钟划开锁屏再关上,孜孜不倦,其酸爽程度不亚于捏气泡膜.确实,一款漂亮的锁屏能为手机增色不少,但锁屏存在的核心目的主要是三个:保护自己手机的隐私,防止误操作,在不关闭

Android Device Administration 设备管理器——一键锁屏的实现

Android Device Administration 设备管理器--锁屏的实现 最近研究了一下安全这一块的内容,当然,我是比较水的,所以也拿不出什么好知识点,但是有一些冷门的东西我还是可以聊聊的,就拿这个锁屏来说吧,我们现在市面上有一些一键锁屏的软件 我们可以看到,是数不胜数的,所以,其实他一开始使用的时候,都需要请求设备管理器 我们可以看到,只有当我们激活的时候,我们才可以使用它,那么,他到底是什么东西呢?其实,当我们激活之后,我们可以在我们手机的设置--安全--设备管理器里面看到他的所