android开发教程之开机启动服务service示例

android开发教程之开机启动服务service示例,第1张

概述个例子实现的功能是:1,安装程序后看的一个Activity程序界面,里面有个按钮,点击按钮就会启动一个Service服务,此时在设置程序管理里面会看的有个Activity和一个Service服务运行2,如果手机关机重启,会触发你的程

个例子实现的功能是:
1,安装程序后看的一个Activity程序界面,里面有个按钮,点击按钮就会启动一个Service服务,此时在设置程序管理里面会看的有个Activity和一个Service服务运行
2,如果手机关机重启,会触发你的程序里面的Service服务,当然,手机启动后是看不到你的程序界面。好比手机里面自带的闹钟功能,手机重启看不到闹钟设置界面
只是启动服务,时间到了,闹钟就好响铃提醒。

程序代码是:

首先要有一个用于开机启动的Activity,给你们的按钮设置OnClickListener();

复制代码 代码如下:
public class MainActivity extends Activity {
 private button btnstarted = null;
    public voID onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentVIEw(R.layout.main);
     btnstarted = (button)findVIEwByID( R.ID.btnstarted);
     btnstarted.setonClickListener(new OnClickListener() {
   public voID onClick(VIEw v) {
    Intent intent = new Intent(MainActivity.this,StartService.class);
    startService(intent);
    Toast.makeText(MainActivity.this,"服务启动成功",Toast.LENGTH_LONG).show();
   }};}
}

我们要编写一个broadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的服务StarServIE.class

复制代码 代码如下:
public class BootCompletedReceiver extends broadcastReceiver{
 public voID onReceive(Context context,Intent intent) {
  if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
   Intent newIntent = new Intent(context,StartService.class);
   context.startService(newIntent);
  }
 }
}

启动服务Service代码

复制代码 代码如下:
public class StartService extends Service{
 //public static String PHONENO;

 public class LocalBinder extends Binder{
  StartThIEf getService(){
   return StartService.this;
  }
 }
 public IBinder onBind(Intent intent){
  return mBinder;
 }
 private voID registerIntentReceiver(){
  //此处添加启动服务要执行的 *** 作代码
 }
 public voID onStart(Intent intent,int startID){
  super.onStart(intent,startID);
 }
    @OverrIDe
    public voID onCreate() {
  registerIntentReceiver();
    }
}

用到的Main.xml,里面只有一个button,ID是btnstarted
复制代码 代码如下:
<?xml version="1.0" enCoding="utf-8"?>
<absoluteLayout
 androID:ID="@+ID/absoluteLayout01"
 androID:layout_wIDth="fill_parent"
 androID:layout_height="fill_parent"
 xmlns:androID="http://schemas.androID.com/apk/res/androID">
 <button androID:layout_height="wrap_content"
 androID:ID="@+ID/btnstarted"
 androID:text="@string/started"
 androID:layout_y="118dip"
 androID:layout_wIDth="wrap_content"
 androID:layout_x="56dip">
 </button>
</absoluteLayout>

在AndroIDManifest.xml配置文件中注册我们的broadcastReceiver和服务Service
复制代码 代码如下:
<?xml version="1.0" enCoding="utf-8"?>
<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID"
 package="com.thIEf" androID:versionCode="1"
 androID:versionname="1.0">
 <application androID:icon="@drawable/icon"
  androID:label="@string/app_name">
  <activity androID:name=".MainActivity"
   androID:label="@string/app_name">
   <intent-filter>
    <action androID:name="androID.intent.action.MAIN" />
    <category
     androID:name="androID.intent.category.LAUNCHER" />
   </intent-filter> 
  </activity>
         //注册服务
                <service androID:name=".StartService"></service>
                //为了获取开机启动这个动作,必须注册加上androID.intent.action.BOOT_COMPLETED
  <receiver androID:name=".BootCompletedReceiver">
   <intent-filter>
    <action androID:name="androID.intent.action.BOOT_COMPLETED">        
    </action>
   </intent-filter>
  </receiver> 
 </application>
 获取开机启动动作的权限permission
 <uses-permission androID:name="androID.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>"
</manifest>

总结

以上是内存溢出为你收集整理的android开发教程之开机启动服务service示例全部内容,希望文章能够帮你解决android开发教程之开机启动服务service示例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存