Android中启用Service和停用Service,是否需要在同一个activity中?
即Context.startService()和Context.stopService()调用方法,希望可以有一个简单源码案例。我查了很久,但是没有找到这个问题相关的资料...
即Context.startService()和Context.stopService()调用方法,希望可以有一个简单源码案例。我查了很久,但是没有找到这个问题相关的资料
展开
2个回答
展开全部
既然Context来源于一个Acyivity中,那何不新建一个类在创建的时候得到这个上下文:
public class mActivity{
private static Activity activity=null;
private static Context mContext=null;
//新建的时候传入参数
public mActivity(Activity activity,Context context){
this.activity=activity;
this.mContext=context;
}
public static Activity getActivity(){
if(this.activity==null){
return null;
}else{
return this.activity;
}
}
public static Context getmContext(){
if(this.mContext==null){
return null;
}else{
return this.mContext;
}
}
}
然后在任何地方都可以这样调用:mActivity.getXX();获得上下文去操作Service。
更多追问追答
追问
因为我遇到的问题是:在android2.3版本上可以在一个的activity中直接stopService()关闭同一应用另外一个activity启动的service,但是把sdk换成4.0.3以上的版本,就会抛出异常
追答
应该是版本差异吧,Service中有些方法比如OnStart已经过时,具体的原因我没仔细去看,你可以自己去找找。 我刚测试了下,你可以在Service内部添加一个全局BroadcastReceiver,通过广播去关闭服务,亲测可行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询