Android开机自动启动app不锁屏-创新互联
主要参考:http://life173.blog.51cto.com/2035365/543916/
成都创新互联IDC提供业务:成都电信服务器托管,成都服务器租用,成都电信服务器托管,重庆服务器租用等四川省内主机托管与主机租用业务;数据中心含:双线机房,BGP机房,电信机房,移动机房,联通机房。属于静态注册广播接收器的内容。可以实现程序未启动的情况下接收广播。
广播接收器更多的是扮演一种打开程序其他组件的的角色,比如创建一条状态栏通知,或者启动一个服务等。不要再onReceiver方法中过多的添加逻辑或者进行任何的耗时操作。
注意权限。其中第一行代码中例子中,需要开启对应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