我需要从服务中获取对主Activity的引用。从服务中获取Activity的引用
这是我的设计:
MainActivity.java
public class MainActivity extendsActivity{
private Intent myIntent;
onCreate(){
myIntent=new Intent(MainActivity.this, MyService.class);
btnStart.setOnClickListener(new OnClickListener(){
public void onClick(View V){
startService(myIntent);
});
}}
MyService.java
class MyService extends Service{
public IBinder onBind(Intent intent) {
return null;
}
onCreate(){
//Here I need to have a MainActivity reference
//to pass it to another object
}
}
我该怎么办?
[编辑]
感谢所有的答案! 这个应用程序是一个Web服务器,在这个时候只能与线程一起工作,而我想要使用服务来使它在后台工作。 的问题是,我有一个类,该类负责获取从资产页面,无法进行此操作,我需要用这个方法:
InputStream iS =myActivity.getAssets().open("www/"+filename);
这时我的项目只有一个活动,没有服务,这样我就可以直接通过自身的主要活动的参考:
WebServer ws= new DroidWebServer(8080,this);
因此,为了使这个应用程序与服务的工作,我应该在我的设计变更?
我编辑了这个问题! – supergiox
我已更新答案 – inazaruk
谢谢!似乎没事,除了需要一个Activity的方法外:'最终光标photo = activity.managedQuery(Data.CONTENT_URI,new String [] {Photo.PHOTO},Data._ID +“=?”,new String [ ] {photoId},null);' – supergiox