`
iloveoracle
  • 浏览: 119516 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

获取sdcard上的所有apk

    博客分类:
  • java
阅读更多
    package com.shishixun.installapk;
import java.io.file;<br>import java.io.filefilter;<br>import java.util.arraylist;
import android.app.activity;<br>import android.content.pm.packageinfo;<br>import android.content.pm.packagemanager;<br>import android.graphics.drawable.drawable;<br>import android.os.bundle;<br>import android.text.format.formatter;<br>import android.util.log;
public class mainactivity extends activity {<br>    /** called when the activity is first created. */<br>    @override<br>    public void oncreate(bundle savedinstancestate) {<br>        super.oncreate(savedinstancestate);<br>        setcontentview(r.layout.main);<br>        final file appfolder = new file( "/sdcard" );<br>     arraylist<file> files = getfiles( appfolder,<br>    true );<br>     packagemanager pm = getpackagemanager( );<br>     for ( int i = 0, size = files.size( ); i < size; i++ )<br>  {<br>   file f = files.get( i );<br>   packageinfo pi= pm.getpackagearchiveinfo( f.getabsolutepath( ), 0 );<br>   if ( pi != null )<br>   {<br>    apkinfo holder = new apkinfo( );<br>    holder.file = f;<br>    holder.pkgname = pi.packagename;<br>    holder.size = f.length( );<br>    holder.sizestring = formatter.formatfilesize( mainactivity.this,<br>      holder.size );<br>    holder.version = pi.versionname == null ? string.valueof( pi.versioncode )<br>      : pi.versionname;<br>    system.out.println("file="+f+"pkgname="+holder.pkgname +"size"+holder.sizestring+"version"+holder.version  );<br>   }<br>  }
    }<br>    <br>    <br>    arraylist<file> getfiles( file parent, final boolean recursive )<br> {<br>  final arraylist<file> files = new arraylist<file>( );
  filefilter filter = new filefilter( ) {
   public boolean accept( file f )<br>   {<br>    if ( f.isfile( )<br>      &amp;&amp; f.getname( ).tolowercase( ).endswith( ".apk" ) )
    {<br>     files.add( f );<br>    }<br>    else if ( recursive &amp;&amp; f.isdirectory( ) )<br>    {<br>     try<br>     {<br>      // try skip links<br>      if ( f.getabsolutepath( )<br>        .equals( f.getcanonicalpath( ) ) )<br>      {<br>       f.listfiles( this );<br>      }<br>     }<br>     catch ( exception e )<br>     {<br>      log.e( mainactivity.class.getname( ),<br>        e.getlocalizedmessage( ),<br>        e );<br>     }<br>    }<br>    return false;<br>   }<br>  };
  parent.listfiles( filter );
  return files;<br> }<br>    <br>    <br>    /**<br>  * apkinfo<br>  */<br> private static final class apkinfo<br> {
  file file;<br>  charsequence label;<br>  string pkgname;<br>  string version;<br>  string sizestring;<br>  long size;<br>  drawable icon;<br>  int installed;<br>  boolean checked;
  apkinfo( )<br>  {
  }<br> }<br>}
 
0
6
分享到:
评论

相关推荐

    android 无sdcard 下载安装 apk 多线程 断点 自动安装apk

    5. **权限管理**:在Android 6.0及以上版本,运行时权限管理需要在安装APK前获取写入外部存储的权限。如果设备没有SD卡,那么内部存储也需要权限。开发者需要在代码中适当地请求这些权限,并处理用户可能拒绝的情况...

    手机apk拷贝到sdcard

    标题“手机apk拷贝到sdcard”涉及到的是Android操作系统中移动应用程序(APK)的存储管理,特别是如何将APK文件从设备的内部存储移动到外部可移除的SD卡上。这一操作对于用户来说,可能是因为他们希望节省手机内部...

    Android 获取未安装的APK图标、版本号、包名等信息方法

    Android 获取未安装的APK图标、版本号、包名等信息方法 Android 获取未安装的APK图标、版本号、包名等信息方法是 Android 应用程序开发中的一种常见需求。通过本文,我们将学习如何获取未安装的APK图标、版本号、包...

    android安装系统目录下的APK包

    1. **获取APK文件**:首先,你需要拥有APK文件,这可以通过从Google Play商店下载,或者从第三方应用市场、开发者网站获取。如果你有APK的本地副本,通常会保存在 `/sdcard/Download` 或者自定义的下载路径中。 2. ...

    【android】apk汉化

    APK包含了应用的代码、资源、元数据等所有必要的组件。当涉及到“apk汉化”时,这意味着我们需要修改APK文件中的语言资源,使其适应中文用户的需求。下面我们将深入探讨如何使用工具进行APK的汉化以及在模拟器上安装...

    从ROM中提取apk

    在Android系统中,APK文件是应用程序的主要载体,它包含了应用的所有代码、资源、资产以及配置文件。"从ROM中提取apk"这个主题涉及到的是如何从设备的Read-Only Memory (ROM) 中获取预装应用的APK文件,这对于开发者...

    android Sdcard的相关操作

    本文主要探讨了如何在Android模拟器上创建和管理SDCard镜像文件,以及如何使用ADB工具进行文件的推送和拉取。 首先,创建SDCard镜像文件是通过`mksdcard`命令完成的。这个命令允许开发者指定镜像文件的名称(如`...

    sdcard.txt

    3. **存储路径**:Android提供不同的存储路径,如`Environment.getExternalStorageDirectory()`获取公共SD卡目录,`getExternalFilesDir()`获取应用私有的外部存储空间。 4. **文件I/O操作**:使用Java或Kotlin的流...

    Android中获取apk安装包信息的方法

    `PackageManager`是Android系统提供的一个类,它负责管理设备上所有应用程序的安装、查询、卸载等操作。获取APK信息通常涉及以下步骤: 1. 创建一个`PackageManager`对象,可以通过上下文`Context`的`...

    apk版本的的比对、下载、安装需求分析

    1.请求服务器获取服务器存储的版本信息 2.通过比对手机端的版本和服务器的版本 3如果要更新需要符合以下判断条件 ... 2)sdcard剩余存储量与apk文件大小的比对 3)是否在wifi环境下 4.下载完成后自动安装

    Unity应用获取外置SD卡路径方法

    5. **打包与部署**:在打包场景时,要确保所有依赖项(包括PicoVR SDK的库文件)都被正确地包含在apk中。此外,根据不同的设备特性,可能需要调整构建设置,如屏幕分辨率、目标API版本等。 总的来说,通过Unity结合...

    将db文件和apk一起打包

    在上面的示例代码中,使用了Environment类来获取外部存储目录的路径,例如/sdcard/dictionary目录。 知识点9:Android中的数据库路径 在Android中,数据库路径是一种非常重要的编程技术。在上面的示例代码中,使用...

    安卓文件下载上传解压相关-apk下载自动安装.rar

    这表明,提供的代码可能是作为学习和参考的片段,可能涵盖了上述的一些步骤,但可能不包括所有细节,比如错误处理、权限获取等。 总的来说,这个压缩包可能是为了教学目的,帮助开发者理解如何在安卓应用中处理文件...

    AudioTest.apk的源码

    首先,`AudioTest.apk`的核心功能是展示一个自定义的ListView,用于显示存储在/mnt/sdcard/路径下mp3和wav格式的音频文件。在Android中,ListView是展示大量数据的常用组件,它允许用户滚动查看多个项目,且可以进行...

    静默安装Apk

    - 将APK文件复制到设备的可读写目录,如 `/sdcard/`。 - 编写一个具有root权限的shell脚本,内容包括`pm install -t -r &lt;apk_path&gt;`,其中`-t`表示允许安装测试版应用,`-r`表示替换已存在的应用。 - 使用Java...

    安卓SD卡文件管理更新信息相关-android使用DownloadManager自动更新安装apk.rar

    综上所述,通过Android的`DownloadManager`服务,我们可以实现应用的自动下载更新,同时结合SD卡文件管理,将APK保存在合适的位置,并在下载完成后进行安装。这是一个实用的功能,可以极大地提升用户体验,尤其是...

    adb工具包刷机工具

    fastboot getvar all 获取手机所有信息 fastboot getvar product 获取手机内部版本号(一般为vle或villec2) fastboot getvar cid 获取cid (刷RUU必备啊) fastboot oem get_identifier_token 获取用户标识码(官...

    android在Sdcard中上传中文文件镜像

    由于Google Play商店可能没有提供该应用,你可能需要从官方网站或者其他安全的第三方应用市场获取APK文件进行安装。安装完成后,打开UltraISO,你可以浏览本地存储,包括SD卡,找到你的中文镜像文件。 在上传镜像...

    新版Android开发教程+笔记十三(待续)--应用、permission、资源.pdf

    2. **卸载APK**:通过`adb shell`进入模拟器环境,然后使用`ls -l`列出`data/app`目录下的所有APK文件,最后使用`rm`命令删除指定的APK文件。 #### 四、对话框的简单应用 在Android应用中,`AlertDialog`是一种...

Global site tag (gtag.js) - Google Analytics