【发布时间】:2011-08-20 07:46:42
【问题描述】:
我熟悉使用 putExtra 和 getExtra 方法将数组从一个活动传递到另一个活动的方法。但是,每当我尝试从服务中获取它时,以下代码都不起作用:
Bundle b = this.getIntent().getExtras();
String Array = b.getStringArray("paths");
它无法识别以下内容:
this.getIntent().getExtras();
有什么想法吗?
编辑
在活动类中我有以下内容:
toService = new Intent();
toService.setClass(this, Service.class);
toService.putExtra("paths",Array);
在服务类中:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
Bundle extras = intent.getExtras();
if(extras!=null)
{
Paths = extras.getStringArray("paths");
Toast.makeText(protectionService.this, Paths[0], Toast.LENGTH_SHORT).show();
}
return 0;
}
什么都没有出现,因为路径显然没有被分配。
Paths = extras.getStringArray("paths");
好像没用。
【问题讨论】:
-
“不起作用”是什么意思?它是否崩溃,给出错误的结果等
-
我的意思是服务类无法识别代码 this.getIntent()...
标签: android arrays service android-activity