zoukankan      html  css  js  c++  java
  • Service(三)

    Activity类:

    public class ServiceUI extends Activity {

            

            private mServiceUIReceiver mReceiver = null;

            private TextView tv_msg = null;

            private ProgressDialog mProgressDialog = null;

            private Intent intent = null;

            

        /** Called when the activity is first created. */

        @Override

        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.main);

            

            tv_msg = (TextView)findViewById(R.id.tv_msg);

            

            //注册BroadcastReceiver

            mReceiver = new mServiceUIReceiver();

            IntentFilter mFilter = new IntentFilter(ServiceUIService.SERVICEUI_SERVICE);

            registerReceiver(mReceiver, mFilter);

            

            //开启服务

            intent = new Intent();

            intent.setClass(this, ServiceUIService.class);

            startService(intent);

            

            //初始化ProgressDialog

            mProgressDialog = new ProgressDialog(this);

            mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

            mProgressDialog.setMessage("正在启动服务...");

            mProgressDialog.setCancelable(false);

        }

        

        @Override

        protected void onDestroy() {

                unregisterReceiver(mReceiver);

                stopService(intent);            

                super.onDestroy();

        }

        

        private class mServiceUIReceiver extends BroadcastReceiver{

                //广播接受数据

                    @Override

                    public void onReceive(Context context, Intent intent) {

                            

                            Bundle bundle = intent.getExtras();

                            int pd_value = bundle.getInt("ProgressDialogValue");

                            String pd_data=bundle.getString("data");

                            if(pd_value==0){

                                    //显示ProgressDialog

                                    mProgressDialog.show();

                            }

                            if(pd_value==100){

                                    //销毁ProgressDialog

                                    mProgressDialog.dismiss();

                                    tv_msg.setTextSize(25f);

                                    tv_msg.setText(pd_data);

                                    

                            }

                    }

        }

    }

    Manifest代码清单:

    <service android:name=".ServiceUIService" android:enabled="true" />

  • 相关阅读:
    Python 绘制图表方法 收藏链接
    Python 安装 numpy 以及 matplotlib 的过程
    Project Euler 31 1000-digit Fibonacci number( DP )
    red hat 6.5 红帽企业Linux.6.5 yum This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 解决办法
    修改system 密码
    本地服务器 windows server 2008 datacenter conn /as sysdba 提示 ora-01031 insufficient privileges
    妙用Outlook2003群发商业邮件
    批量修改文件名称
    SQl server 2012安装问题 error code 0x858C001b 解决方法
    peoplesoft function PSTREENODE 通过 deptid 获得部门树 一级部门 名称
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429519.html
Copyright © 2011-2022 走看看