用这个启动一个服务
i=3;
intent=new Intent("test.com.wisky.music.sevice.t59");
intent.putExtra("key", i);
p=PendingIntent.getService(con,0,intent,0);
views.setOnClickPendingIntent(R.id.mode_random,p);
在服务中
int key=intent.getIntExtra("key", -1);
获取放到Intent中的值,为什么结果一直是key=0

解决方案 »

  1.   

    嗯是的,我也尝试过,一直是0的,后来我换了一种解决方法,通过action来区分:
    widget发送:intent.setAction("com.xxx.action");
    serivce中获取用:String action = intent.getAction();
    试试呢,应该可以满足你的要求
      

  2.   

    intent=new Intent("test.com.wisky.music.sevice.t59");
    中的"test.com.wisky.music.sevice.t59"不就是action吗,要是把他设置成别的那又怎么去启动一个Service
      

  3.   

    我是这样写的:
    Intent intent = new Intent(“某某用来标记的action”);
    intent.setClass(context, AudioService.class);
      

  4.   

    我也是根据Action判断的
    http://blog.csdn.net/ch_984326013/article/details/6664129
      

  5.   

    我的Appwidget和Service不在一个Apk中,所以用的是setClassName方法,只是这样做在执行appWidgetManager.updateAppWidget方法时报空指针错误,用Action直接启动的时候不会出现这种错误,不知道为什么
    不过我大概已经找到别解决方法了,如果成功了再贴上来
      

  6.   

    一个应用程序启动另外一个程序的Service?
    算远程把?
    可能的用bindService
    service要提供一个binder给别的程序调用