我正在創建我的第一個Android應用程序,我需要使用服務。用戶界面將有一個複選框(CheckBoxPreference),用於打開/關閉服務,服務只能被我的應用程序訪問(不需要共享)。在Android中創建服務
到目前爲止,此功能的用戶界面已準備就緒,我知道如何響應該事件,我不知道如何創建服務以及如何連接到該服務。
這個想法是,服務繼續監聽事件並在後臺響應它們,並且應用程序僅用於打開/關閉或更改某些設置。
我在網上尋找教程,但我似乎沒有得到過程。
我正在創建我的第一個Android應用程序,我需要使用服務。用戶界面將有一個複選框(CheckBoxPreference),用於打開/關閉服務,服務只能被我的應用程序訪問(不需要共享)。在Android中創建服務
到目前爲止,此功能的用戶界面已準備就緒,我知道如何響應該事件,我不知道如何創建服務以及如何連接到該服務。
這個想法是,服務繼續監聽事件並在後臺響應它們,並且應用程序僅用於打開/關閉或更改某些設置。
我在網上尋找教程,但我似乎沒有得到過程。
CheckBox checkBox =
(CheckBox) findViewById(R.id.check_box);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
startService(new Intent(this, TheService.class));
}
}
});
,服務:
public class TheService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "Service created!", Toast.LENGTH_LONG).show();
}
@Override
public void onDestroy() {
Toast.makeText(this, "Service stopped", Toast.LENGTH_LONG).show();
}
@Override
public void onStart(Intent intent, int startid) {
Toast.makeText(this, "Service started by user.", Toast.LENGTH_LONG).show();
}
}
在Android Studio中,右鍵單擊包,然後選擇新建|服務|服務。現在添加這個方法:
@Override
int onStartCommand(Intent intent, int flags, int startId) {
// Your code here...
}
注意:在onStart已被棄用。
要啓動服務:從一個活動的onCreate方法(或廣播接收機的的onReceive法):
Intent i = new Intent(context, MyService.class);
context.startService(i);
線startService(新意圖(此,TheClass.class));應該閱讀:startService(新的意圖(this,TheService.class))。並且不要忘記將該服務添加到AndroidManifest.xml – PedroC88 2010-12-05 17:55:50