我熟悉使用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");
似乎沒有工作。
你是什麼意思'不起作用'?它會崩潰,給出錯誤的結果等 – Ronnie
我的意思是服務類不承認代碼 this.getIntent()... – Batzi