Android中启用Service和停用Service,是否需要在同一个activity中?

即Context.startService()和Context.stopService()调用方法,希望可以有一个简单源码案例。我查了很久,但是没有找到这个问题相关的资料... 即Context.startService()和Context.stopService()调用方法,希望可以有一个简单源码案例。我查了很久,但是没有找到这个问题相关的资料 展开
 我来答
百度网友30bb719
2013-08-06 · TA获得超过348个赞
知道小有建树答主
回答量:310
采纳率:75%
帮助的人:210万
展开全部

既然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,通过广播去关闭服务,亲测可行。
卧虫先生宇
2013-08-06 · TA获得超过328个赞
知道答主
回答量:221
采纳率:0%
帮助的人:80.2万
展开全部
自己试一下不就知道了。
追问
在android2.3版本上可以在一个的activity中直接stopService()关闭同一应用另外一个activity启动的service,但是把sdk换成4.0.3以上的版本,就会抛出异常,这是我问题的来源。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式