1、Android启动外部应用

(1)、根据包名启动

PackageManager manager = getPackageManager();Intent launchIntentForPackage = manager.getLaunchIntentForPackage("要打开软件的包名");if (launchIntentForPackage != null) {    startActivity(launchIntentForPackage);}

(2)、启动应用的某个界面

Intent intent = new Intent();intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setAction(Intent.ACTION_MAIN);intent.setComponent(new ComponentName(“包名”, "界面的类名");intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);

2、打开软件安装页面

Intent intent = new Intent();intent.setAction("android.intent.action.VIEW");intent.addCategory("android.intent.category.DEFAULT");intent.setDataAndType(Uri.fromFile(new File("apk所在路径")), "application/vnd.android.package-archive");startActivityForResult(intent, 0);  

3、卸载软件

Intent intent = new Intent();intent.setAction("android.intent.action.DELETE");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:" + "卸载的包名"));startActivityForResult(intent, 0);

4、打开软件详情页

Intent intent = new Intent();intent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");intent.setData(Uri.parse("package:" + "软件包名"));startActivity(intent);

5、分享内容

Intent intent = new Intent();intent.setAction("android.intent.action.SEND");intent.addCategory("android.intent.category.DEFAULT");intent.setType("text/plain");intent.putExtra(Intent.EXTRA_TEXT, "分享的内容");startActivity(intent);

6、动态获取服务是否开启的方法

public static boolean isRunningService(String className,Context context){    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    List runningServices = activityManager.getRunningServices(300);//300    表示正在运行的服务的上限个数,一般300足够了    //遍历集合    for (RunningServiceInfo runningServiceInfo : runningServices) {        ComponentName service = runningServiceInfo.service;        //正在运行的服务的全类名        String className2 = service.getClassName();        //正在运行的服务的全类名和传递过来的服务的全类名比较,相同正在运行返回true,不相同表示服务没有运行返回false        if (className.equals(className2)) {            return true;        }    }    return false;}

7、获取内存卡可用空间 ##public static long getAvailableROM(){

    //获取内存路径    File path = Environment.getDataDirectory();    //硬盘的API操作    StatFs stat = new StatFs(path.getPath());    long blockSize = stat.getBlockSize();//获取每块的大小    long totalBlocks = stat.getBlockCount();//获取总块数    long availableBlocks = stat.getAvailableBlocks();//获取可用的块数    return availableBlocks*blockSize;}

8、获取SD卡可用空间

public static long getAvailableSD(){    File path = Environment.getExternalStorageDirectory();    StatFs stat = new StatFs(path.getPath());    long blockSize = stat.getBlockSize();//每块的大小    long totalBlocks = stat.getBlockCount();//总块数    long availableBlocks = stat.getAvailableBlocks();//可用的块数    return availableBlocks*blockSize;}

9、获取剩余内存和总内存

public static long getAvailableRam(Context context){    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    MemoryInfo outInfo = new MemoryInfo();    am.getMemoryInfo(outInfo);    //空闲的内存    return outInfo.availMem;}public static long getTotalRam(Context context){    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    MemoryInfo outInfo = new MemoryInfo();    am.getMemoryInfo(outInfo);    //总的内存    return outInfo.totalMem;}

10、获取手机屏幕高度和宽度

WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);DisplayMetrics outMetrics = new DisplayMetrics();windowManager.getDefaultDisplay().getMetrics(outMetrics);width = outMetrics.widthPixels;height = outMetrics.heightPixels;

11、判断网络活动状态

public static boolean isNetworkConnected(Context context) {    if (context != null) {        ConnectivityManager mConnectivityManager = (ConnectivityManager) context            .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();        if (mNetworkInfo != null) {            return mNetworkInfo.isAvailable();        }    }    return false;}

android小知识(2)_第1张图片

欢迎您扫一扫上面的微信公众号,订阅我的个人公众号!
本公众号将以推送Android各种碎片化小知识或小技巧,以及整理Android面试知识点为主,也会不定期将开发老司机日常工作中踩过的坑,平时自学的一些知识总结出来进行分享。每天一点干货小知识把你的碎片时间充分利用起来。

更多相关文章

  1. 编译android遇到java虚拟机堆内存不够的问题 java.lang.OutOfMem
  2. Android异步加载图片并缓存到内存和SD卡上
  3. android 安装删除软件
  4. android通过BitmapFactory.decodeFile获取图片bitmap报内存溢出
  5. android 系统内存显示
  6. Android内存泄露资料
  7. android 自动弹出软件盘
  8. Android 中获取图片占内存的大小

随机推荐

  1. Android(安卓)TableLayout数据列表的回显
  2. android Beam
  3. 沉浸式状态栏的实现
  4. Android(安卓)Http Get/Post提交请求
  5. 七、Android数据链接更新路由表
  6. android > TabActivity ( actvity 切换 i
  7. android webview点击返回键回到上一个htm
  8. Android(安卓)欢迎界面设置
  9. android根据字体大小设置控件高度
  10. Android触摸事件分发机制详解