Service如何关闭启动自己的Activity
2014-08-22 15:43
1576 查看
Service如何关闭启动自己的Activity
今天在编写Android程序的时候,遇到这个问题。通过百度和google的搜索结果,总结出以下方法:方法一:
public class mService extendsService {
//保存在service中的Activity对象
privatestatic mActivity m;
//启动服务
static voidstartservice(Context c){
m=(mActivity)c;
Intent iService=new Intent(c,mService.class);
iService.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(iService);
}
//关闭服务
static voidstopservice(Context c){
Intent iService=new Intent(c,mService.class);
iService.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.stopService(iService);
}
……
//在mService中关闭mActivity
m.finish();
}
public class mActivity extendsActivity {
// privateMediaPlayer mMPlayer;
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
……
//启动mService
mService.startservice(mActivity.this);
……
//停止mService
mService.stopservice(mActivity.this);
}
}
方法二:
主要包括3部分
1.定义application类,这个类可以保存获取activity实例,记得manifest中加入android:name=".MyApp"
public class MyApp extendsApplication{
private MyServiceActivity myActivity;
public void setInstance(MyServiceActivity instance){
myActivity = instance;
}
public MyServiceActivity getInstance(){
return myActivity;
}
}
2. 在activity中保存实例
public class MyServiceActivity extendsActivity {
@Override
public void onCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
((MyApp)getApplication()).setInstance(this);
……
}
}
3. 在service中取回实例
public class MyService extendsService {
MyServiceActivity myActivity;
@Override
public void onCreate() {
相关文章推荐
- 【原创】Service如何关闭启动自己的Activity
- 【原创】Service如何关闭启动自己的Activity
- Service如何关闭启动自己的Activit…
- 【原创】Service监听到事件后关闭启动自己的Activity
- activity中如何获取service的运行状态? 使用startservice方式启动
- 插件化基础:如何启动未经注册的activity和service
- Android Service如何关闭Activity
- android 中如何activity如何关闭一个开启自启动的service
- 如何启动一个没有Activity的Service
- 如何启动一个没有Activity的Service
- android89--Activity怎么和service绑定,怎么在activity中启动自己对应的service
- android service 启动和关闭不在同一个Activity的问题
- 【Android】Activity切换效果——当通过Service启动自己Activity的时候怎么控制
- Android 中启动自己另一个程序的activity如何实现
- 如何在一个Service中启动一个Activity
- Android Service如何关闭Activity
- Android 如何在service和BroadCastReceiver中 启动activity和alertdialog?
- Android Service中如何启动Activity(发生异常的原因,如何解决)
- 关于如何获得自己项目启动到手机顶部Activity的实时对象
- android中如何在系统启动的时候启动自己的service