Trong ứng dụng của tôi, tôi có một hoạt động mà từ đó tôi muốn bắt đầu một Dịch vụ Có thể bất kỳ cơ thể nào giúp tôi?Bắt đầu một Dịch vụ từ hoạt động
Trả lời
Ứng dụng có thể khởi động dịch vụ với sự trợ giúp của phương thức Context .startService. Phương thức này sẽ gọi phương thức onCreate của dịch vụ nếu dịch vụ chưa được tạo; phương thức onStart khác sẽ được gọi. Đây là mã:
Intent serviceIntent = new Intent();
serviceIntent.setAction("com.testApp.service.MY_SERVICE");
startService(serviceIntent);
API Demos có một số ví dụ khởi chạy dịch vụ.
Sử dụng phương thức Context.startService().
Và đọc this.
Thêm này trong mã của bạn
Intent serviceIntent = new Intent(this, ServiceName.class);
startService(serviceIntent);
Dont quên thêm thẻ dịch vụ trong AndroidManifest.xml nộp
<service android:name="com.example.ServiceName"></service>
Từ Android official documentation:
Thận trọng: Một dịch vụ chạy trong cùng một quy trình như ứng dụng trong mà nó được khai báo và trong luồng chính của ứng dụng đó, theo mặc định . Vì vậy, nếu dịch vụ của bạn thực hiện các hoạt động chuyên sâu hoặc chặn trong khi người dùng tương tác với một hoạt động từ cùng một ứng dụng, dịch vụ sẽ làm chậm hiệu suất hoạt động. Để tránh ảnh hưởng đến hiệu suất ứng dụng , bạn nên bắt đầu một chuỗi mới bên trong dịch vụ .
Dịch vụ tạo đầu tiên từ tệp android Manifest.xml
(ví dụ từ tab ứng dụng) và đặt tên cho nó.
Trên hoạt động trên một số sự kiện như nhấp chuột hoặc liên lạc bao gồm mã từ dịch vụ:
public void onClick(View v)
{
startService(new Intent(getApplicationContext(),Servicename.class));
}
Nếu bạn muốn dừng chạy hoặc bắt đầu dịch vụ sau đó bao gồm mã này:
public void onclick(View v)
{
stopService(new Intent(getApplicationContext,Servicename.class));
}
Nếu bạn muốn bắt đầu một dịch vụ và nó sẽ chạy trong nền sử dụng START_STICKY trong dịch vụ tương ứng của bạn.
Bạn có thể bắt đầu servvice với khi khởi động cũng có,
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Và tạo nhận,
<receiver android:name=".auth.NotificationBroadcast" android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Trong Brodcast Receiver thêm,
@Override
public void onReceive(Context context, Intent intent) {
System.out.println("BroadcastReceiverBroadcast--------------------ReceiverBroadcastReceiverBroadcastReceiver----------------BroadcastReceiver");
if (intent != null) {
String action = intent.getAction();
switch (action) {
case Intent.ACTION_BOOT_COMPLETED:
System.out.println("Called on REBOOT");
// start a new service
startService(new Intent(getApplicationContext(),Servicename.class));
break;
default:
break;
}
}
}
Và dịch vụ của bạn là như thế,
- 1. hoạt động bắt đầu android từ dịch vụ
- 2. Dịch vụ Bắt đầu từ Thông báo
- 3. Bắt đầu một dịch vụ từ xa Từ C#
- 4. Dịch vụ tự động không bắt đầu
- 5. "Không thể bắt đầu dịch vụ Ý định" lỗi khi khởi chạy dịch vụ từ một hoạt động trong Android
- 6. bắt đầu dịch vụ windows từ java
- 7. Cách khởi động dịch vụ Android từ một hoạt động và ngừng dịch vụ trong một hoạt động khác?
- 8. Bắt đầu một dịch vụ windows và khởi động cmd
- 9. Bắt đầu một hoạt động từ PreferenceScreen
- 10. Xóa nhiệm vụ và bắt đầu một hoạt động mới
- 11. Dịch vụ không bắt đầu
- 12. Cách gọi phương thức hoạt động từ một dịch vụ
- 13. cách bắt đầu dịch vụ từ các đoạn
- 14. Bắt đầu phiên người dùng mới từ dịch vụ
- 15. Tự động bắt đầu dịch vụ trong vùng chứa Docker
- 16. Cách tự động bắt đầu dịch vụ trong Android?
- 17. Dịch vụ Python win32 bắt đầu automaticlly
- 18. Bắt đầu FragmentActivity từ Hoạt động
- 19. Bắt đầu Hoạt động mới từ lớp Hoạt động phi
- 20. bắt đầu quá trình từ dịch vụ .NET windows
- 21. Dịch vụ khởi động Android không bao giờ bắt đầu
- 22. dịch vụ Windows bắt đầu thất bại: Không thể bắt đầu dịch vụ từ dòng lệnh hoặc debugger
- 23. Bắt đầu LocationManager như Dịch vụ Android
- 24. Windows không thể bắt đầu dịch vụ
- 25. Bắt đầu dịch vụ systemd từ ứng dụng C/C++ hoặc gọi dịch vụ D-Bus
- 26. Bắt đầu dừng Dịch vụ từ Biểu mẫu App C#
- 27. Cách tốt nhất cho Dịch vụ bắt đầu Hoạt động để liên lạc với nó
- 28. cách bắt đầu dịch vụ trong Android mà không có hoạt động
- 29. Bắt đầu Hoạt động để có kết quả từ IME
- 30. Bắt đầu với dịch vụ MDM iOS
bạn có thể cho tôi biết cách bắt đầu mã chuỗi ervicein –