Android ACTION_TIME_TICK BroadcastReceiver处理
来源:互联网 发布:软件求不定积分 编辑:程序博客网 时间:2024/05/21 03:28
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(SocketActivity.this, "Service is Running...", Toast.LENGTH_LONG).show();
SocketTestApplication application = (SocketTestApplication) getApplication();
application.registerReceiver();
finish();
}
}
public class MyBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Log.v(getClass().getName(), "Loading onReceive...");
try
{
if (intent.getAction().equals(Intent.ACTION_TIME_TICK)) {
boolean isServiceRunning = isServiceRunning(context);
if (!isServiceRunning )
{
Log.v(getClass().getName(), "isServiceRunning-->"+isServiceRunning);
Intent myservice = new Intent(context, SocketTestService.class);
context.startService(myservice);
}
}
}
catch (Exception e)
{
Log.v(getClass().getName(), e.toString());
}
}
//检查Service状态
private boolean isServiceRunning(Context context) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("net.socket.test.service.SocketTestService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
}
public class SocketTestApplication extends Application
{
public void registerReceiver()
{
IntentFilter filter = new IntentFilter(Intent.ACTION_TIME_TICK);
MyBroadcastReceiver receiver = new MyBroadcastReceiver();
registerReceiver(receiver, filter);
}
}
public class SocketTestService extends Service
{
@Override
public IBinder onBind(Intent intent)
{
return null;
}
@Override
//Service时被调用
public void onCreate()
{
Log.i(getClass().getName(), "Service onCreate--->");
super.onCreate();
}
@Override
//当调用者使用startService()方法启动Service时,该方法被调用
public void onStart(Intent intent, int startId)
{
Log.i(getClass().getName(), "Service onStart--->");
//添加线程接收处理....
super.onStart(intent, startId);
}
@Override
//当Service不在使用时调用
public void onDestroy()
{
Log.i(getClass().getName(), "Service onDestroy--->");
super.onDestroy();
}
}
- Android ACTION_TIME_TICK BroadcastReceiver处理
- android BroadcastReceiver ACTION_TIME_TICK 每分钟系统时间监听
- Android:BroadcastReceiver
- android BroadcastReceiver
- Android BroadcastReceiver
- BroadcastReceiver Android
- Android BroadcastReceiver
- android BroadcastReceiver
- Android BroadCastReceiver
- Android BroadcastReceiver
- Android BroadcastReceiver
- android BroadcastReceiver
- android BroadcastReceiver
- Android BroadcastReceiver
- Android BroadcastReceiver
- android BroadcastReceiver
- Android BroadcastReceiver
- Android BroadcastReceiver
- do...while(0) 妙用
- regression Feature Selection
- C# 开发和调用webservice
- DOSEMU(DOSEMU for Linux),即DOS Emulation(DOS模拟器)
- hdoj 2049 不容易系列之(4)——考新郎
- Android ACTION_TIME_TICK BroadcastReceiver处理
- boost::bind()
- 设计模式总结一
- 触发器限制指定IP访问oracle数据库
- .net网站发布
- 数学之路(2)-数据分析-R基础(9)
- 使用Python删除Windows中只读文件
- (转)Android 游戏开发之主角的移动与地图的平滑滚动(十五)
- linux mysql 免安装版