Tôi cần tham khảo Hoạt động chính từ Dịch vụ.lấy tham chiếu của Hoạt động từ Dịch vụ
Đây là thiết kế của tôi:
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
}
}
Làm thế nào tôi có thể làm gì?
[EDIT]
Nhờ tất cả cho câu trả lời! Ứng dụng này là một máy chủ web, tại thời điểm này chỉ hoạt động với các chủ đề và tôi muốn sử dụng một dịch vụ thay thế, để làm cho nó hoạt động ở chế độ nền. Vấn đề là tôi đã một lớp học mà có trách nhiệm để có được những trang từ tài sản và thực hiện hành động này, tôi cần phải sử dụng phương pháp này:
InputStream iS =myActivity.getAssets().open("www/"+filename);
Tại thời điểm này dự án của tôi chỉ có một hoạt động và không dịch vụ, vì vậy tôi có thể chuyển trực tiếp tham chiếu của hoạt động chính từ chính nó:
WebServer ws= new DroidWebServer(8080,this);
Vì vậy, để làm cho ứng dụng này hoạt động với dịch vụ, tôi nên thay đổi gì trong thiết kế?
Tôi đã chỉnh sửa câu hỏi! – supergiox
Tôi đã cập nhật câu trả lời – inazaruk
Cảm ơn bạn! Dường như được tất cả các quyền, ngoại trừ một phương thức cần một Activity: 'final Cursor photo = activity.managedQuery (Data.CONTENT_URI, new String [] {Photo.PHOTO}, Data._ID +" =? ", Chuỗi mới [ ] {photoId}, null); ' – supergiox