android app自动锁屏,Android开机自动启动app 不锁屏

Android开机自动启动app 不锁屏

发布时间:2020-07-17 03:22:20

来源:51CTO

阅读:2086

作者:清水禅石

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

属于静态注册广播接收器的内容。可以实现程序未启动的情况下接收广播。

广播接收器更多的是扮演一种打开程序其他组件的的角色,比如创建一条状态栏通知,或者启动一个服务等。不要再onReceiver方法中过多的添加逻辑或者进行任何的耗时操作。

359fa9dc3679388d490144bb731af5b6.png

注意权限。其中第一行代码中例子中,需要开启对应app的开机启动权限

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

Toast.makeText(arg0, "Boot Complete",Toast.LENGTH_LONG).show();

贴出源码:

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

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

及增加权限:  

整个源码:

package="com.example.activitytest"

android:versionCode="1"

android:versionName="1.0" >

android:minSdkVersion="8"

android:targetSdkVersion="19" />

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

android:name=".FirstActivity"

android:label="this is my first Activity" >

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

增加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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值