我尝试在android中使用服务
活动 - >在位置登录
public class DashboardActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
userFunctions = new UserFunctions();
if (userFunctions.isUserLoggedIn(getApplicationContext())) {
setContentView(R.layout.dashboard);
startService(new Intent(this, CountDownTimer.class));
} else {
// user is not logged in show login screen
Intent login = new Intent(getApplicationContext(),
LoginActivity.class);
login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(login);
// Closing dashboard screen
finish();
}
}
}
服务类
public class CountDownTimer extends Service {
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
Log.d("TAG", "onCreate");
}
@Override
public void onStart(Intent intent, int startId) {
Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
Log.d("TAG", "onStart");
}
@Override
public void onDestroy() {
Toast.makeText(this, "MyService Stopped", Toast.LENGTH_LONG).show();
Log.d("TAG", "onDestroy");
}
}
我在android manifest
中添加了这项服务我不明白代码有什么问题,我尝试了更多教程,但同样的服务没有运行。请帮忙
答案 0 :(得分:0)
确保您已在AndroidManifest.xml中声明了服务
<service android:enabled="true" android:name=".CountDownTimer" />
随时随地停止服务
stopService(new Intent(this,CountDownTimer.class));
如果上述内容正确填写。请务必删除Toast
Toast.makeText(this, "Congrats! MyService Created", Toast.LENGTH_LONG).show();
使用Toast
时,服务无法显示this
。因为this
包含有关服务的信息。
因此请尝试Log
确认您的服务状态。另外,请确保您的服务尚未运行
因此stop
服务然后再次start
。