android代码集锦

调用root权限的应用:

 1     /**
 2      * 执行Command命令的函数
 3      *
 4      * @param command  命令
 5      * @return 执行结果
 6      */
 7     public static boolean runRootCommand(String command) {
 8         Process process = null;
 9         DataOutputStream os = null;
10         try {
11             process = Runtime.getRuntime().exec("su");
12             os = new DataOutputStream(process.getOutputStream());
13             os.writeBytes(command + "\n");
14             os.writeBytes("exit\n");
15             os.flush();
16             process.waitFor();
17         } catch (Exception e) {
18             Log.d(TAG, "the device is not rooted, error message: " + e.getMessage());
19             return false;
20         } finally {
21             try {
22                 if (os != null) {
23                     os.close();
24                 }
25                 if (process != null) {
26                     process.destroy();
27                 }
28             } catch (Exception e) {
29                 e.printStackTrace();
30             }
31         }
32         return true;
33     }

获取安装了所有APP的信息:

 1     class PInfo {
 2         private String appname = "";
 3         private String pname = "";
 4         private String versionName = "";
 5         private int versionCode = 0;
 6         private Drawable icon;
 7
 8         private void prettyPrint() {
 9             Log.i("MainActivity", appname + "|\t" + pname + "|\t" + versionName + "|\t" + versionCode + "|\t");
10         }
11     }
12
13     private void listPackages() {
14         // false = no system packages
15         ArrayList<PInfo> apps = getInstalledApps(false);
16         final int max = apps.size();
17         for (int i = 0; i < max; i++) {
18             apps.get(i).prettyPrint();
19         }
20     }
21
22     private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
23         ArrayList<PInfo> res = new ArrayList<PInfo>();
24         List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
25         for (int i = 0; i < packs.size(); i++) {
26             PackageInfo p = packs.get(i);
27             if ((!getSysPackages) && (p.versionName == null)) {
28                 continue;
29             }
30             PInfo newInfo = new PInfo();
31             newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
32             newInfo.pname = p.packageName;
33             newInfo.versionName = p.versionName;
34             newInfo.versionCode = p.versionCode;
35             newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
36             res.add(newInfo);
37         }
38         return res;
39     }

==

时间: 2024-07-31 17:57:40

android代码集锦的相关文章

Android UI集锦——1.Android Drawable分类汇总(1/3)

Android UI集锦--1.Android Drawable分类汇总(1/3) -转载请注明出处coder-pig 本节引言: 小猪好像写了好几个专题,都没坚持写完,又忍不住开个新的专题了,因为最近打算 开始研究Android图形与图形图像处理,动画以及自定义View等,所以就顺道记录下, 最近事有点多,感觉情绪很低迷,心理压抑又找不到倾述的对象,这个时候程序猿肯定会说: "没对象,你自己new一个啊",好有道理,我竟无言以对...好吧!还是自己的那句座右铭: 没什么可以一蹴而就,

常用Android代码

这里收集了大家常用的一些Android代码,持续更新中,内容来自自己的平时积累和网络上看到的文章,部分原文地址在最下方.如有错误欢迎指正里面可能会有重复内容,请忽略或者提醒我删除. setBackgroundResource(0) 可以移除 View 的背景色 Resources.getSystem().getDisplayMetrics().density 可以不用 Context 也能获取屏幕密度哦 通过重载 ViewGroup 的 dispatchDraw 可以实现一个简单的蒙版效果. 例

下载最新Android代码的方法

之前我是去Android官方网站下载最新Android代码,但是这种方法需要FQ,而且有时候FQ又不太方便,今天我发现一个不错的网站,是清华大学搞的,跟Android官方的代码基本保持同步,而且下载方法跟Android官方的也类似.下面是网站地址: https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/ 下面我简单介绍一下几种下载方法: 准备工作 方法一 下载repo工具 1: mkdir ~/bin 2: PATH=~/bin:$PATH 3: curl

Android代码连接Wifi时被系统切换到其他Wifi的问题

首先说下Android代码连接Wifi的几个步骤:(以下涉及到具体API函数自查哈,写的时候凭借印象大致写了下) 转载请注明出处: 胖虎:http://blog.csdn.net/ljphhj 1.首先要开启Wifi连接开关,mWifiManager.setWifiEnabled(true) 2.通过获取List<ScanResult>来获取到Wifi连接列表.(mWifiManager.getScanResults) 3.获取List<WifiConfiguration>列表.(

Proguard android代码混淆 防止反编译

Proguard android代码混淆 防止反编译 http://www.360doc.com/content/13/1030/13/9171956_325290258.shtml

Windows环境下通过Git来管理自己的Android代码

前面已经介绍了在Windows下使用git工具来下载Android的源码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目管理工具而CVS及SVN都是集中式的版本控制系统集中式版本控制系统最大的毛病就是必须联网才能工作,分布式版本控制系统根本没有"中央服务器",每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上,分布式和集中式通过以下两张图会清楚点 Window

Android 代码实现preference组件

Preference主要实现一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依然有效,无须用户再一次进行配置或选择.Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Preference的布局. Preference组件有ListPreference,EditTextPreference,CheckBoxPreference和SwitchPreference,相对于Vi

使用proguard混淆android代码

当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的.为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等.我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度.最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下. 如何启用ProGuard ant项目和eclipse

Android代码混淆(新版本ADT)

说明: 看网上说的很多Android代码混淆的方法都是旧版本ADT的方法,今天用到代码混淆,记下来分享一下,有需要的可以看看. 实践: 我就不写东西了,还是直接给大家看我项目中用到的文件就好了.注释我写在图片上了. 第二个文件的代码我还是写出来吧,可能有朋友用的和我的差不多.(注意不要把注释写进去) 这两个文件都是项目生成的时候由ADT自动生成的,不用自己加. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 -keep public class * extend