Android之Service服务
不会新建service的,如下图,再你的项目里面单机右键,
布局代码如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/btn_startservice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentStart="true" android:layout_alignParentTop="true" android:layout_marginStart="136dp" android:layout_marginTop="159dp" android:text="启动服务" /> <Button android:id="@+id/btn_stopservice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/btn_startservice" android:layout_centerVertical="true" android:text="停止服务" /> </RelativeLayout>
MainActivity,java:
package com.example.helios.learnservice; import android.content.Intent; import android.support.v4.app.INotificationSideChannel; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button btn_start,btn_stop; private Intent intent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_start = this.findViewById(R.id.btn_startservice); btn_stop = this.findViewById(R.id.btn_stopservice); intent = new Intent(MainActivity.this,MyService.class); btn_start.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startService(intent); } }); btn_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { stopService(intent); } }); } }
MyService类的代码如下:
package com.example.helios.learnservice; import android.app.Service; import android.content.Intent; import android.os.IBinder; public class MyService extends Service { public MyService() { } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. throw new UnsupportedOperationException("Not yet implemented"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { new Thread(){ @Override public void run() { super.run(); while (true) { System.out.println("服务正在运行!!!!!"); try { sleep(1000); } catch (Exception e) { e.printStackTrace(); } } } }.start(); return super.onStartCommand(intent, flags, startId); } }