Android学习笔记--隐藏Activity2016.05

原创 2016年05月31日 17:41:42

1、隐藏Activity:

PackageManager packageManager = getPackageManager();
ComponentName componentName = new ComponentName(this,MainActivity.class);
  packageManager.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);//隐藏图标

2、获取系统中的Service或者其他信息,context.getSystemService,根据参数获取不同的对象

public void myTest(Context context)
 { 
     List lstRS = new ArrayList(); 
     ActivityManager acMa = (ActivityManager)context.getSystemService(ACTIVITY_SERVICE); 
     if (acMa != null) 
     { 
         lstRS = acMa.getRunningServices(500); 
         for (int i = 0; i < lstRS.size(); i++) 
         {
             Log.i(TAG, lstRS.get(i).service.getClassName()); 
         }
     }
 }
  • 可以对getSystemService传入不同的参数,然后再获取不同的信息

3、SharedPreferences使用

为了保存软件的设置参数,Android 平台为我们提供了一个SharedPreferences 类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs 目录下。
获取SharedPreferences对象方法:

SharedPreferences pre = Context.getSharedPreferences(String name,int mode);

对于一个app,可以在manifest.xml中找到其包名,并且使用命令:

adb pull /data/data//shared_prefs/preferences名称.xml,可以把此xml拉到本地

4、获取IMEI

      TelephonyManager teMa =(TelephonyManager)context.getSystemService(TELEPHONY_SERVICE);
        if (teMa != null) {
                Log.i(TAG, teMa.getDeviceId().toString());
        }

5、遍历短信内容

        ContentResolver contentResolver = context.getContentResolver();
        Cursor cursor = contentResolver.query(Uri.parse("content://sms"), null, null, null, "date");
        Log.i(TAG, "after contentResolver"+cursor);
        while(cursor != null && cursor.moveToNext()){
            Log.i(TAG, "while...");
            String number = cursor.getString(cursor.getColumnIndex("address"));
            String name = cursor.getString(cursor.getColumnIndex("person"));
            String body = cursor.getString(cursor.getColumnIndex("body"));
            //这里有个问题问题,就是说如果name为null,导致Log.i调用会失败
            //Log.i(TAG, name);
            number = number + name + body;
            if(number != null)
                Log.i(TAG, number);
        }

6、打开“设置”界面

    private void restartSetting(Context context, Intent intent){
        Intent intent2 = context.getPackageManager().getLaunchIntentForPackage("com.android.settings");
        intent2.setFlags(intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent2);
    }

7、删除短信方法
遇到一个问题,删除短信时遇到一个小问题,如下:

ContentResolver contentResolver = context.getContentResolver();
//这里会提示报错,不能自动识别delete函数
contentResolver.delete(Uri.parse(content://sms/100), null, null);
而下面这样却没有问题......
context.getContentResolver().delete(Uri.parse("content://sms/100"), null, null);

8、把app安装到system/app目录
由于必须在系统目录下,才会有一些权限,所以需要把app安装到目标权限
首先,手机要root,并且能对system/app目录读写,即执行su命令成功,或者adb remount也可以对系统目录读写
把xxx.apk拷贝到scard目录:adb push xxx.apk /scard/
修改权限,一定要修改为可执行权限:chmod 777 /scard/xxx.apk
cp /scard/xxx.apk /system/app/xxx.apk
重新启动手机,即可实现安装到系统目录
此外,存在system/app下的apk,除了重启外,还有一个pm命令

pm install xxx.apk
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android学习笔记-隐藏app图标

在manifest的入口activity里面intent-filter中设置元素。 比如: 注意,android:scheme是大小写敏感的,必须以小写字母开头 也就是这个M...
  • binghe_1234
  • binghe_1234
  • 2016年12月01日 11:58
  • 372

安全测试工具收集

持续收集中...   JAD - Java反编译工具   Flash Decompilerhttp://www.flash-decompiler.com/从FLASH文件swf中提取所有资源的工具软件...
  • Testing_is_believing
  • Testing_is_believing
  • 2010年12月08日 22:50
  • 8721

U3D学习笔记

开发环境: Unity3D 4.0版 网上有低版本的破解版,根据需要下载,安装,本人使用4.0试用版.破解版貌似网上有看到一个,需要积分,就没下载.   实例应用: 使用Unity3D制作一个空...
  • dyllove98
  • dyllove98
  • 2013年06月09日 21:12
  • 3427

最近整理的Android学习笔记

今天记录一下这段时期学习android的笔记,这些笔记比较凌乱,但总归是有用的,以后什么时候有用,可以直接查询来使用。Android沉浸式状态栏如果想要我们的应用打开以后和状态栏的颜色保持一致,或者是...
  • mockingbirds
  • mockingbirds
  • 2015年07月18日 14:53
  • 3042

Android (默认)隐藏Menu Item

1. 定义mMenu成员变量 private Menu mMenu; 2. 在onCreateOptionsMenu()里初始化mMenu,并隐藏Menu item @Ove...
  • worldwidemind
  • worldwidemind
  • 2015年12月10日 20:53
  • 2623

仿底部工具栏上滑消失下滑出现

仿底部工具栏上滑消失下滑出现先看效果图吧! 这个效果图确实不错,设计思想也很好。所以呢?我们肯定是要拿来主义了。这个页面来自携程的app,具体的效果可以去查看下。实现思路 类似这种效果,我考虑了好...
  • Mr_dsw
  • Mr_dsw
  • 2016年01月16日 11:18
  • 3845

Android 显示/隐藏 应用图标

PackageManager packageManager = getPackageManager(); ComponentName componentName = new Compo...
  • scjie168
  • scjie168
  • 2016年06月17日 18:47
  • 5683

Android隐藏app桌面图标

在写之前网上参考了部分
  • z2278734400
  • z2278734400
  • 2017年08月04日 18:35
  • 2213

Android控件的隐藏与显示

nvisible:不显示,但保留所占的空间 visible:正常显示 gone:不显示,且不保留所占的空间 XML里: android:visibility="visible" 代码里,如B...
  • breaker892902
  • breaker892902
  • 2014年01月03日 14:40
  • 34949

Android应用隐藏包名

开发过程中需要对某个应用进行内置并隐藏其包名,可以按照如下代码处理 ApplicationPackageManager.java(frameworks\base\core\java\android\...
  • andqinling
  • andqinling
  • 2017年09月05日 18:41
  • 227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android学习笔记--隐藏Activity2016.05
举报原因:
原因补充:

(最多只允许输入30个字)