1. 场景:实现安装一个apk应用程序的过程。界面如下:

  1. 编写如下应用,应用结构如下:

<RelativeLayout   编写activity_main.xml布局:

<RelativeLayout 版本开始的

.setContentText("我是内容")

.setSmallIcon(R.drawable.notification)

.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))

.build();

NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

nm.notify(0, noti);

}

}

Android清单文件:

<?xml         自杀代码:杀死进程的代码如下:

package com.itheima.exit;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.content.DialogInterface.OnClickListener;

import android.os.Bundle;

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

public void onBackPressed() {

AlertDialog.Builder builder = new Builder(this);

builder.setTitle("提醒");

builder.setMessage("确定退出当前应用程序吗?");

builder.setPositiveButton("立刻退出", new OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

finish();//关闭当前的activity

//把自己的进程杀死

//自杀的方法

android.os.Process.killProcess(android.os.Process.myPid());

}

});

builder.setNegativeButton("取消", null);

builder.show();

}

}

程序退出先的效果(在Devices中的效果):

退出后:

1 杀死进程,场景:杀死空进程,后台进程,他杀(也就是说杀不死自己),界面效果:

程序案例代码结构如下:

2 编写activity_main.xml布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity" >

<EditText

android:hint="请输入要杀死的进程包名"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/et_packname"/>

<Button

android:onClick="click"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:text="杀死进程"/>

</RelativeLayout>

3 MainActivity的代码如下:

package com.itheima.killother;

import android.app.Activity;

import android.app.ActivityManager;

import android.os.Bundle;

import android.view.View;

import android.widget.EditText;

public class MainActivity extends Activity {

private ActivityManager am;//相当于进程管理器

private EditText et_packname;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//所有程序的开启都是由Activity的ActivityManager来管理的

am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);

et_packname = (EditText) findViewById(R.id.et_packname);

}

public void click(View view) {

String packname = et_packname.getText().toString().trim();

//注意要杀死别的进程需要加上权限

//<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

//这里中方式只是杀死别人,注意:手机里面有些进程是杀死不掉的,比如电话进程

am.killBackgroundProcesses(packname);

}

}

程序运行结果:

注意:如果有时候提示要重启adb,可以通过下面的方式:

下面以杀死上面的com.android.music为例:

点击”杀死进程”前:

点击”杀死进程”之后的效果:

最新文章

  1. HTML课上小结
  2. C#播放MP3源代码
  3. 如何使用grunt压缩js文件
  4. MD测试
  5. 使用ajax和js无刷新改变页面内容和地址栏URL
  6. tp中附件上传文件,表单提交
  7. HDU 4497 GCD and LCM (数论)
  8. Struts2的那些小细节
  9. 【linux相识相知】用户及权限管理
  10. Linux ftrace框架介绍及运用
  11. Server/Service/Engine/Host/Context} Setting property &#39;source&#39; to &#39;org.eclipse.jst.jee
  12. &lt;c:forEach&gt;循环列表,获取勾选的checkbox中某个&lt;td&gt;的值
  13. Web API中的消息处理程序(Message Handler)
  14. powerdesigner 使用技巧 建模工具 导出sql 导出实体类 导出word
  15. emouse思&middot;睿&mdash;评论与观点整理之四
  16. spring boot映射静态资源.
  17. Android.mk(3) 宏
  18. Gradle for Android 翻译 -1
  19. 什么是ASCII码文本文件
  20. 可视化库-Matplotlib-饼图与布局(第四天)

热门文章

  1. C++编译连接过程中关于符号表的报错分析
  2. Gradle 1.12用户指南翻译——第五十三章. 签名插件
  3. Rails里rake db:migrate出现undefined method last_comment问题的解决
  4. Android支付——支付宝支付总结
  5. Linux命令行总结
  6. 查看oracle数据库的连接数以及用户 (转:http://blog.itpub.net/24558279/viewspace-752293/)
  7. SpringMVC源码分析--文件上传
  8. 27 自定义View 和案例
  9. 23 服务的启动Demo2
  10. 【伯乐在线】FACEBOOK产品设计总监:设计APP时的14个必考题