我想知道如何找到Android服务的创建地点?例如,我有两个不同的活动并创建一些按钮。当用户单击按钮时,它将启动该服务。但是,如何检查该服务是否是从我期望的活动中创建的?
服务类:
public class BluetoothService extends Service {
...
}
活动类:
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
/** This is a button */
public void createBluetoothService(View view) {
Intent in = new Intent(this, BluetoothService.class);
startService(in);
}
}
感谢您的帮助。
如果问题没有解决,请告诉我。
答案 0 :(得分:0)
根据@KonradKrakowiak的建议,我只是在回答自己的问题。希望这会有助于其他人。
活动类:
public class SettingsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
/** This is a button */
public void createBluetoothService(View view) {
Intent in = new Intent(this, BluetoothService.class);
in.putExtra("class", "SettingsActivity");
startService(in);
}
}
服务类:
public class BluetoothService extends Service {
...
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Bundle bundle = intent.getExtras();
String check = bundle.getString("class");
if (check.equals("SettingsActivity")) {
// do something
}
return START_STICKY;
}
}
这对我来说似乎很有用。感谢您的提示。