Android开机自动启动app不锁屏-创新互联

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

成都创新互联IDC提供业务:成都电信服务器托管,成都服务器租用,成都电信服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。

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

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

 Android开机自动启动app 不锁屏

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

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

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

贴出源码:

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

      
            
                    
                    
            
  
及增加权限:    
整个源码:


    
     
    
           
             
                 
                 
             
            
            
        
            

            

                    

                    

            

           
     
    

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:Android开机自动启动app不锁屏-创新互联
分享地址:http://scyanting.com/article/gidih.html