您现在的位置是:主页 > news > 阳逻开发区网站建设中企动力/大批量刷关键词排名软件

阳逻开发区网站建设中企动力/大批量刷关键词排名软件

admin2025/5/1 22:27:36news

简介阳逻开发区网站建设中企动力,大批量刷关键词排名软件,58创业网,淘宝客做网站要钱吗案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。 方案一:使用广播Service 注册BroadcastReceiver 1、在主程序activity中注册一个BroadcastReceiver,…

阳逻开发区网站建设中企动力,大批量刷关键词排名软件,58创业网,淘宝客做网站要钱吗案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。 方案一:使用广播Service 注册BroadcastReceiver 1、在主程序activity中注册一个BroadcastReceiver,…

案例:通过service向远程服务器发送请求,根据服务器返回的结果动态更新主程序UI界面,主程序可实时关闭或重启服务。

方案一:使用广播+Service

注册BroadcastReceiver

1、在主程序activity中注册一个BroadcastReceiver,用于接收Service发布的广播。

    @Override protected void onStart() {//重写onStart方法  dataReceiver = new DataReceiver();  IntentFilter filter = new IntentFilter();//创建IntentFilter对象  filter.addAction("com.xiaoshan.app");  registerReceiver(dataReceiver, filter);//注册Broadcast Receiver  super.onStart();  } 


2、在Service中注册一个BroadcastReceiver,用于接收主程序发布的广播。

    @Override public int onStartCommand(Intent intent, int flags, int startId) {//重写onStartCommand方法          
        cmdReceiver = new CmdReceiver();IntentFilter filter = new IntentFilter();//创建IntentFilter对象  filter.addAction("com.xiaoshan.service");registerReceiver(cmdReceiver, filter);//注册Broadcast Receiver  return super.onStartCommand(intent, flags, startId);  } 


发送广播

1、主程序发布广播,Service接收读取数据。

如:主程序activity可发布广播,用于向后台service传递数据或控制信息,如停止service命令。

    btnStop.setOnClickListener(new OnClickListener() {//为按钮添加点击事件监听     @Override public void onClick(View v) {//重写onClick方法  Intent myIntent = new Intent();//创建Intent对象  myIntent.setAction("com.xiaoshan.service");  myIntent.putExtra("cmd", CMD_STOP_SERVICE);  sendBroadcast(myIntent);//发送广播  }  }); 

2、Service发布广播,主程序Activity接收更新UI。

如:Service后台读取网络数据,用于向Activity传递数据或控制界面信息,更新UI。

//连接服务器读取数据(略)
Object data;//服务器返回的数据data
Intent intent = new Intent();//创建Intent对象  
intent.setAction("com.xiaoshan.app");  
intent.putExtra("data", data);  
sendBroadcast(intent);//发送广播 


如上实现双向广播注册和接收来实现Service和主程序Activity之间的数据交互或控制。

方案二:使用Handler

1、在主程序的Activity中声明一个static变量handler,里面写好回调函数

	TextView tv = ……;//这里省略
public static Handler handler = new Handler(new Callback() {@Overridepublic boolean handleMessage(Message msg) {tv.setText(msg.getData().getString("content"));return false;}});
2、在Service里面,调用这个handler,传输数据。

		Message msg = MyActivity.handler.obtainMessage();Bundle data = new Bundle();data.putString("content",content);msg.setData(data);msg.sendToTarget();