package com.sandro.applock;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class LockActivity extends Activity implements OnClickListener{
private ActivityManager mActivityManager = null;
public static final String INTENT_EXTRA_APP_NAME = "INTENT_EXTRA_APP_NAME";
public static final String INTENT_EXTRA_PACKAGE_NAME = "INTENT_EXTRA_PACKAGE_NAME";
private String appName = "";
private String packageName = "";
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lock_layout);
mActivityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
appName = this.getIntent().getStringExtra(INTENT_EXTRA_APP_NAME);
packageName = this.getIntent().getStringExtra(INTENT_EXTRA_PACKAGE_NAME);
tv = (TextView)this.findViewById(R.id.app_tv);
setAppName();
findViewById(R.id.app_run).setOnClickListener(this);
findViewById(R.id.app_del).setOnClickListener(this);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
appName = intent.getStringExtra(INTENT_EXTRA_APP_NAME);
packageName = intent.getStringExtra(INTENT_EXTRA_PACKAGE_NAME);
setAppName();
}
private void setAppName(){
if(appName == null)
return;
tv.setText(appName + " 是风险软件");
}
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
public void onBackPressed() {
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
if(packageName!=null && packageName.trim().length()>0){
mActivityManager.killBackgroundProcesses(packageName);
}
super.onBackPressed();
}
/**
* 跳转到当前App管理页面
*
* @param packageName
* @return
*/
private Intent gotoAppControd(String packageName) {
Intent intent = new Intent();
int sdkVerson = 0;
try {
sdkVerson = android.os.Build.VERSION.SDK_INT;
} catch (Exception exception) {
}
if (sdkVerson >= 9) {
intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
Uri uri = Uri.fromParts("package", packageName, null);
intent.setData(uri);
} else {
String pkg;
if (sdkVerson > 7) {
pkg = "pkg";
} else {
pkg = "com.android.settings.ApplicationPkgName";
// "android.intent.action.VIEW"
intent.setAction(Intent.ACTION_VIEW);
intent.setClassName("com.android.settings",
"com.android.settings.InstalledAppDetails");
intent.putExtra(pkg, packageName);
}
}
return intent;
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.app_run:
this.finish();
break;
case R.id.app_del:
if(packageName!=null && packageName.trim().length()>0){
Intent intent = gotoAppControd(packageName);
startActivity(intent);
this.finish();
}
break;
}
}
}