<activityandroid:name="com.itydl.lockscreen.Remove"android:label="一键卸载" ><intent-filter> <action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter> </activity>在新建的活动里面,写取消激活和卸载的代码:
package com.itydl.lockscreen;import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View;public class Remove extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) { // super.onCreate(savedInstanceState); setContentView(R.layout.activity_remove);}public void remove(View v){ //调用卸载的界面,要去上层源码中看一下卸载界面的意图是什么。通过查看源码,如下: /*** <intent-filter> <action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.DELETE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="package" /></intent-filter>*///在卸载之前首先要取消设激活设备管理器 //获取设备管理器 DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE); ComponentName who = new ComponentName(this,DeviceAdminSample.class); dpm.removeActiveAdmin(who);//Remove a current administration component. This can only be called by the application that owns the administration component//卸载,启动卸载界面 Intent remove = new Intent("android.intent.action.DELETE"); remove.addCategory("android.intent.category.DEFAULT"); remove.setData(Uri.parse("package:"+getPackageName()));//表示卸载本程序,Return the name of this application"s package.startActivity(remove);//卸载用户apk界面} }但是要注意一点,新建的一键卸载布局,一定做以下修改:
<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" > --------------------这里一定修改。 <Button android:onClick="remove" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="一键卸载" /></RelativeLayout>运行程序,当用户想要卸载的时候,点击一键卸载进入卸载界面,即可对这个应用完成卸载了。
<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"android:background="#00000000">---------------------设置为透明色</RelativeLayout>在锁屏活动的onCreat方法里面加入一句代码:lockScreen(null);表示不需要任何view去启动点击事件。
@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);dmp = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);lockScreen(null); }同时,一键卸载的应用也做以上同样的事情:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。