服务之非绑定服务
2015-11-02 10:30
211 查看
package com.example.demo;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.ListView;
@SuppressWarnings(“unused”)
public class MainActivity extends Activity {
private Intent service;
}
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.ListView;
@SuppressWarnings(“unused”)
public class MainActivity extends Activity {
private Intent service;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void bt2(View v){ service=new Intent(MainActivity.this,Music.class); startService(service); } public void bt(View v){ stopService(service); }
}
package com.example.demo; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.util.Log; /** * 非绑定方式启动服务,组件与服务没有关系,即使组件退出,服务仍然会在后台运行 * @author Administrator * */ public class Music extends Service{ /** * 服务第一次被创建时调用,无论调用多少次startService,只会被调用一次 * 服务只会创建一个实例,因此只需要调用一次stopService就可以 */ @Override public void onCreate() { Log.i("kk","启动了服务"); super.onCreate(); } /** * 以startService方式启动服务被调用,每调用一次startService(),就会被调用一次 * 虽然服务本身是做一些耗时工作的,也不要直接进行,也要开启子线程,因为服务也属于主线程 * 】返回值决定该服务是黏性还是非粘性 * * // START_STICKY_COMPATIBILITY:兼容模式.无法保证该服务是粘性的. // START_NOT_STICKY:非粘性服务. // START_STICKY:粘性服务.服务意外死亡,系统会重启服务一次(仅一次),不会保留原先从其它组件传过来的值 // START_REDELIVER_INTENT:粘性服务.系统重启服务,仍然保留原先传过来的值 * */ @Override public int onStartCommand(Intent intent, int flags, int startId) { Log.i("kk","onStartCommand"); return super.onStartCommand(intent, flags, startId); } /** * 服务被停止时调用,在这里释放资源,停止线程等操作 * 可以通过stopSelf()主动停止服务 */ @Override public void onDestroy() { Log.i("kk","服务停止"); super.onDestroy(); } @Override public IBinder onBind(Intent intent) { // TODO 自动生成的方法存根 return null; } }
相关文章推荐
- 【FastDev4Android框架开发】AndroidAnnnotations注入框架使用之最佳实践SharedPreferences(十七)
- webView未加载完,退出方法
- Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)
- js调用.bat文件或dos命令的方式
- 国产优秀SAAS版项目管理软件、缺陷管理、BUG跟踪软件
- java程序的内存分配
- IO流显示图片,比如验证码
- Linux启动过程详解
- 失控:放弃集中控制,打造自组织的活系统
- 失控:放弃集中控制,打造自组织的活系统
- 设置图片进度条
- LeetCode67——Add Binary
- GCD
- Java面向对象之类和对象
- 服务之非绑定服务
- Android中WebView的使用
- 我看——选择和努力,哪个更重要?
- android WebView 开发指栏
- Android应用之访问servlet服务器
- Too many arguments to function call...