Android 服务和广播的使用

Android 服务和广播的使用,第1张

概述Android服务广播的使用服务的使用创建服务类 创建一个java文件,取名mService.java,继承Service。publicclassmServiceextendsService{}返回服务控制器/***绑定服务**@paramintent*@return*/@OverridepublicIBi AndroID 服务和广播的使用服务的使用创建服务类

 创建一个java文件,取名 mService.java,继承Service。

public class mService extends Service {}

返回服务控制器

  /**     * 绑定服务     *     * @param intent     * @return     */    @OverrIDe    public IBinder onBind(Intent intent) {        return new myControl();    }

创建一个中间类,来 *** 作服务类方法。

    /**     * 中间类     */    public class myControl extends Binder {           //  创建方法,可供其他activity内调用        public voID mcontrol(String instructions) {            // ....        }    }    

创建服务

    /**     * 创建服务     */    @OverrIDe    public voID onCreate() {        super.onCreate();        // ....创建服务时执行的方法    }

开启服务

    /**     * 开启服务     */    @OverrIDe    public int onStartCommand(Intent intent, int flags, int startID) {        return super.onStartCommand(intent, flags, startID);    }
activity使用服务

在需要使用服务的activity文件的 onCreate 文件中引入服务并启动

        // 启动服务        Intent intent = new Intent(MainActivity.this, mService.class);        startService(intent);        conn = new mControl();        // 绑定服务        bindService(intent, conn, BIND_auto_CREATE);    

创建中间类,用来 *** 作服务中的方法

    /**     * 创建中间件对象     */    class mControl implements ServiceConnection {        @OverrIDe        public voID onServiceConnected(Componentname name, IBinder service) {            control = (mService.myControl) service;        }        @OverrIDe        public voID onServicedisconnected(Componentname name) {        }    }

当activity中需要调用服务中的方法时

 control.mcontrol("31");

服务使用就是这样。

广播的使用发送广播
        // 发送广播        Intent intent = new Intent();        intent.putExtra("temValue", temValue);        intent.setAction("mService");        sendbroadcast(intent);    
接受广播

在需要接受广播的 activity 中注册广播监听者

        // 注册广播监听者        receiver = new mReceiver();        IntentFilter filter = new IntentFilter();        filter.addAction("mService");        MainActivity.this.registerReceiver(receiver, filter);

创建广播监听者内部类

    // 广播监听者    public class mReceiver extends broadcastReceiver {        @OverrIDe        public voID onReceive(Context context, Intent intent) {            Bundle bundle = intent.getExtras();            temValue.setText(bundle.getString("temValue"));        }    }

 

广播简单的用法就这样。

 案例:https://github.com/wjw1014/IntelligentMine/blob/master/app/src/main/java/com/example/admin/mine_feiyang/mService.java

总结

以上是内存溢出为你收集整理的Android 服务和广播的使用全部内容,希望文章能够帮你解决Android 服务和广播的使用所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存