在这个service中用这样的方法来启动一个activity,起到一个类似于对话框式的效果:
Intent t = new Intent(MainService.this, ToConfirmActivity.class);
t.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(t);
要启动的activity的代码如下:
package com.example.borec;import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Instrumentation.ActivityResult;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;public class ToConfirmActivity extends Activity {private Button twiceConfirm = null;
private Button toFinish = null;@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_confirm);
Button twiceConfirm = (Button) findViewById(R.id.twiceConfirm);
Button toFinish = (Button) findViewById(R.id.toFinish); twiceConfirm.setOnClickListener(new twiceConfirmListener());
toFinish.setOnClickListener(new toFinishListener());
}class twiceConfirmListener implements OnClickListener { public void onClick(View v) {
// TODO Auto-generated method stub
Intent t = new Intent(ToConfirmActivity.this, WebViewActivity.class);
t.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(t);
finish();
}}class toFinishListener implements OnClickListener { public void onClick(View v) {
// TODO Auto-generated method stub
ToConfirmActivity.this.finish();
ToConfirmActivity.this.onStop();
ToConfirmActivity.this.onDestroy();
Intent t = new Intent(ToConfirmActivity.this, MainService.class);
System.out.println("*****");
stopService(t);
Intent tt = new Intent(ToConfirmActivity.this,
GridLayoutActivity.class);
startActivity(tt);
}
}@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_to_confirm, menu);
return true;
}
}现在的问题就是,要按这个结束服务按钮十多次才能完全结束这个activity,为什么?
Intent t = new Intent(MainService.this, ToConfirmActivity.class);
t.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(t);
要启动的activity的代码如下:
package com.example.borec;import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.Instrumentation.ActivityResult;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;public class ToConfirmActivity extends Activity {private Button twiceConfirm = null;
private Button toFinish = null;@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_to_confirm);
Button twiceConfirm = (Button) findViewById(R.id.twiceConfirm);
Button toFinish = (Button) findViewById(R.id.toFinish); twiceConfirm.setOnClickListener(new twiceConfirmListener());
toFinish.setOnClickListener(new toFinishListener());
}class twiceConfirmListener implements OnClickListener { public void onClick(View v) {
// TODO Auto-generated method stub
Intent t = new Intent(ToConfirmActivity.this, WebViewActivity.class);
t.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(t);
finish();
}}class toFinishListener implements OnClickListener { public void onClick(View v) {
// TODO Auto-generated method stub
ToConfirmActivity.this.finish();
ToConfirmActivity.this.onStop();
ToConfirmActivity.this.onDestroy();
Intent t = new Intent(ToConfirmActivity.this, MainService.class);
System.out.println("*****");
stopService(t);
Intent tt = new Intent(ToConfirmActivity.this,
GridLayoutActivity.class);
startActivity(tt);
}
}@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_to_confirm, menu);
return true;
}
}现在的问题就是,要按这个结束服务按钮十多次才能完全结束这个activity,为什么?
解决方案 »
- 线性布局有没类似绝对布局精确定位的函数借口,比如在100,100处画个imagebutton
- 申请API,为啥会这样子啊
- 求教:如何手动运行init.rc里面的service
- android中如何将视频文件作为Activity的背景
- 安卓读取sd卡图片问题
- EditText报错问题,请指教
- 布局这样实现等间距
- 如何获取PreferenceScreen里的keyevent?
- android的sqlite 上传数据库到ftp,再下载下来后,为什么打不开?
- Android后台录像
- 【求助】Android关于Tabhost控件使用setContentView切换多个页面
- Camera类如何拍照并返回byte[]
ToConfirmActivity.this.onStop();
ToConfirmActivity.this.onDestroy();
Intent t = new Intent(ToConfirmActivity.this, MainService.class);
System.out.println("*****");
stopService(t);
Intent tt = new Intent(ToConfirmActivity.this,
GridLayoutActivity.class);
startActivity(tt);改为:Intent t = new Intent(ToConfirmActivity.this, MainService.class);
stopService(t);
Intent tt = new Intent(ToConfirmActivity.this,GridLayoutActivity.class);
startActivity(tt);int nPid = android.os.Process.myPid();
android.os.Process.killProcess(nPid);
finish();
System.exit(0);
ToConfirmActivity.this.onStop();
ToConfirmActivity.this.onDestroy();还有这样的用法?