【原创】Service如何关闭启动自己的Activity
来源:互联网 发布:淘宝追加评论规则 编辑:程序博客网 时间:2024/05/16 17:18
今天在编写Android程序的时候,遇到这个问题。通过百度和google的搜索结果,总结出以下方法:
方法一:
public class mService extends Service {
//保存在service中的Activity对象
private static mActivity m;
//启动服务
static void startservice(Context c){
m=(mActivity)c;
Intent iService=new Intent(c,mService.class);
iService.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(iService);
}
//关闭服务
static void stopservice(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 extends Activity {
// private MediaPlayer mMPlayer;
/*
* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void 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 extends Application{
private MyServiceActivity myActivity;
public void setInstance(MyServiceActivity instance){
myActivity = instance;
}
public MyServiceActivity getInstance(){
return myActivity;
}
}
2. 在activity中保存实例
public class MyServiceActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApp)getApplication()).setInstance(this);
……
}
}
3. 在service中取回实例
public class MyService extends Service {
MyServiceActivity myActivity;
@Override
public void onCreate() {
super.onCreate();
setForeground(true);
android.os.Debug.waitForDebugger();
myActivity = ((MyApp)getApplication()).getInstance();
……
}
}
方法一:
public class mService extends Service {
//保存在service中的Activity对象
private static mActivity m;
//启动服务
static void startservice(Context c){
m=(mActivity)c;
Intent iService=new Intent(c,mService.class);
iService.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
c.startActivity(iService);
}
//关闭服务
static void stopservice(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 extends Activity {
// private MediaPlayer mMPlayer;
/*
* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void 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 extends Application{
private MyServiceActivity myActivity;
public void setInstance(MyServiceActivity instance){
myActivity = instance;
}
public MyServiceActivity getInstance(){
return myActivity;
}
}
2. 在activity中保存实例
public class MyServiceActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
((MyApp)getApplication()).setInstance(this);
……
}
}
3. 在service中取回实例
public class MyService extends Service {
MyServiceActivity myActivity;
@Override
public void onCreate() {
super.onCreate();
setForeground(true);
android.os.Debug.waitForDebugger();
myActivity = ((MyApp)getApplication()).getInstance();
……
}
}
0 0
- 【原创】Service如何关闭启动自己的Activity
- 【原创】Service如何关闭启动自己的Activity
- Service如何关闭启动自己的Activity
- Service如何关闭启动自己的Activity
- 【原创】Service监听到事件后关闭启动自己的Activity
- Service如何关闭启动自己的Activit…
- android 中如何activity如何关闭一个开启自启动的service
- Android Service如何关闭Activity
- Android Service如何关闭Activity
- Android Service如何关闭Activity
- 如何启动一个没有Activity的Service
- android service 启动和关闭不在同一个Activity的问题
- android89--Activity怎么和service绑定,怎么在activity中启动自己对应的service
- Activity怎么和service绑定,怎么在activity中启动自己对应的service
- (原创)定时启动某个activity或者service的实现方式
- 【Android】Activity切换效果——当通过Service启动自己Activity的时候怎么控制
- Activity的启动、关闭、数据传输
- service 启动activity的问题解决
- 方法方法
- RabbitMQ-C客户端使用说明
- 【转】Android 下实现 ListView 中添加 CheckBox
- 关于curl返回数据乱码的问题解决方法
- ui树形组建的渲染 tag菜单初始化展现控制 (树形)
- 【原创】Service如何关闭启动自己的Activity
- [转]关于Activity和Task的设计思路和方法
- json组装(只要符合控件要求的格式即可,可以比控件要求的字段多)
- 【原创】Service监听到事件后关闭启动自己的Activity
- Android中BroadCastReceiver使用
- [BZOJ 1233][Usaco2009Open]干草堆tower:单调队列
- echart require js 回调
- 深入探讨 Android 传感器
- tab 页面切换