Service作为应用组件需要在________________文件中进行注册才能生效。
查看答案
启动Service的编程方式之一是先创建目标为Service类的________________类对象,将该对象作为startService()方法参数启动Servic类。
请阅读并理解下面程序,在描述编程逻辑文字的空白划线处填写合适内容。public class MyService extends Service {private DownloadBinder mBinder = new DownloadBinder();class DownloadBinder extends Binder {public void startDownload() {Log.d("MyService", "startDownload executed");}public int getProgress() {Log.d("MyService", "getProgress executed");return 0;}}@Overridepublic IBinder onBind(Intent intent) {Log.d("MyService", "onBind executed");return mBinder;}…..@Overridepublic void onDestroy() {super.onDestroy();Log.d("MyService", "onDestroy executed");}}1)自定义类(1)_____________继承于(2) _____________类;2)该自定义类内部定义了一个继承自(3)_____________类的名为(4)_____________内部类,该内部类的功能是为Activity提供服务方法(5)_____________和(6)_____________;2)定义了名为(7)_____________ 的Binder类对象;3)(8)_____________回调方法在收到绑定意图后会返回名为(9)_____________的对象,Activity可以通过这个对象调用Service提供的服务方法。4)在(10)_____________回调方法中编写Service类销毁时的处理代码。
请阅读并理解下面程序,在描述编程逻辑文字的空白划线处填写合适内容。public class MainActivity extends Activity implements OnClickListener {private Button bindService;private Button unbindService;private MyService.DownloadBinder downloadBinder;private ServiceConnection connection = new ServiceConnection() {// 定义监听连接断开的方法@Overridepublic void (2)onServiceDisconnected(ComponentName name) {}@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {downloadBinder = (MyService.DownloadBinder) service;Log.d("MainActivity", "onServiceConnected!");downloadBinder.startDownload();downloadBinder.getProgress();}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);bindService = (Button) findViewById(R.id.bind_service);unbindService = (Button) findViewById(R.id.unbind_service);bindService.setOnClickListener(this);unbindService.setOnClickListener(this);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bind_service:Intent bindIntent = new Intent(this, MyService.class);bindService(bindIntent, connection, BIND_AUTO_CREATE);break;case R.id.unbind_service:unbindService(connection);break;default:break;}}}1)在自定义Activity里实现负责监听与(1)_____________类对象绑定状况的(2)_____________接口,并创建该接口对象,对象名为(3)_____________;2)实现监听连接状况的接口类时,需重写服务绑定成功时的回调方法(4)_____________,以及解除绑定时的回调方法(5)_____________。3)onServiceConnected()方法的参数可接收到绑定服务组件名称和(6)_____________实例,通过这个实例, Activity就可以调用自定义方法:(7)_____________和(8)_____________。4)当点击R.id.bind_service按钮时创建发送给MyService.类的意图,并调用(9)_____________方法启动绑定服务;点击R.id.unbind_service按钮时调用(10)_____________方法解除与Service的绑定。
从Android 8.0系统开始,如果希望Service不会由于系统内存不足而导致被回收,可以使用____________服务,处在这种状态的Service会有一个正在运行的图标在状态栏显示,类似于通知的效果。