Tôi đã tạo một lớp mở rộng IntentService và tôi muốn bắt đầu dịch vụ từ một lớp không phải là Hoạt động, do đó, tôi không có quyền truy cập vào đối tượng Ngữ cảnh. Tôi không thể tìm thấy một ví dụ về điều này trong tài liệu hoặc trên web. Có thể không?startService từ lớp không mở rộng Hoạt động
15
A
Trả lời
19
Bạn sẽ cần phải vượt qua bối cảnh Hoạt động hiện tại để lớp Hoạt động phi để bắt đầu dịch vụ từ lớp không hoạt động như:
public class NonActivity {
public Context context;
public NonActivity(Context context)
this.context=context;
}
public void startServicefromNonActivity(){
Intent intent=new Intent(context,yourIntentService.class);
context.startService(intent);
}
và vượt qua bối cảnh hiện nay như:
public class AppActivity extends Activity {
NonActivity nonactiityobj;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nonactiityobj=new NonActivity(CuttentActivity.this);
//start service here
nonactiityobj.startServicefromNonActivity();
}
}
2
Sử dụng mã Bắt đầu này và Dịch vụ Dừng
public class MyService {
Context context ;
public MyService(Context cont) {
this.context = context ;
}
public void StartMyService()
{
Intent i = new Intent(context,YourService.class);
context.startService(i);
}
public void StopMyService()
{
Intent i = new Intent(context,YourService.class);
context.stopService(i);
}
}
Điều này chỉ tạo đối tượng của lớp này
MyService mySevice ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myService = new MyService(this);
//For Startting Service
myService.StartMyService();
//For Stopping Service
myService.StopMyService();
}
Các vấn đề liên quan
- 1. Mở rộng lớp học cho hoạt động
- 2. Lớp động mở rộng
- 3. Tôi có thể mở rộng lớp Ruby để hoạt động như OpenStruct động không?
- 4. Mở rộng FragmentActivity thay vì Hoạt động
- 5. Android - Hoạt động so với ListActivity - Lớp hoạt động của tôi nên mở rộng ở đâu?
- 6. UITableViewCell Mở rộng/Thu Animation (Hoạt động khi mở rộng, nhưng không sụp đổ)
- 7. C#: Mở rộng từ hơn 1 lớp
- 8. Sự khác biệt giữa việc mở rộng Hoạt động và mở rộng ListActivity là gì?
- 9. sử dụng findviewbyid trong lớp KHÔNG mở rộng Hoạt động trong android
- 10. Tại sao invokeDynamic trong một lớp mở rộng Dynamic không hoạt động?
- 11. Tôi có nên sử dụng lớp AsyncTask bên trong Hoạt động mở rộng MainActivity không?
- 12. Mở rộng mysqli bị thiếu, phpmyadmin không hoạt động
- 13. TransactionScope không hoạt động với phần mở rộng song song?
- 14. Javascript mở rộng lớp
- 15. Làm thế nào để hiển thị một thông Toast từ một lớp học mà không mở rộng Hoạt động
- 16. Acra: cài đặt, mở rộng Ứng dụng - Hoạt động?
- 17. Lấy tên lớp học từ lớp mở rộng
- 18. Mở rộng nhiều lớp
- 19. Cách mở rộng lớp css
- 20. Mã truy cập mở rộng từ Facebook không hoạt động đúng cách
- 21. Mẫu thiết kế để mở rộng hoạt động của Android?
- 22. PHP - mở rộng phương pháp như mở rộng một lớp
- 23. phương pháp mở rộng để mở rộng lớp tĩnh
- 24. Lớp Scala có thể mở rộng nhiều lớp không?
- 25. Lớp mở rộng là gì?
- 26. lớp bên trong mở rộng
- 27. phân lớp đối tượng tệp (để mở rộng các hoạt động mở và đóng) trong python 3
- 28. Tôi có thể startService từ Ứng dụng # onCreate() không?
- 29. GZipStream hoạt động nhưng phần mở rộng bị mất
- 30. Mở rộng Groovy lớp String
Tôi có ý tưởng, cảm ơn bạn! –
@AlexCartwright: chào đón nhiều nhất !!! :) –