Articles of android package managers

使用包名称获取所有活动

我想通过使用PackageInfo将Application中的所有活动作为列表。 请告诉我有没有办法做到这一点。 提前致谢。

在Android上以编程方式关闭应用程序的通知

我正在开发一个包管理器应用程序,该应用程序显示checkbox以关闭安装在Android设备上的不同应用程序的通知。 从Android 4.1开始,用户可以从应用程序管理器关闭应用程序的通知。 我可以以编程方式打开/关闭应用程序中的通知吗? 这样做有API吗?

Android ADB Shell不启用包

我要求pm(包管理器)启用一些包,但是它没有启用并显示消息“ new state:disabled ” shell @ android:/ $ pm启用my.app.com 打包my.app.com新状态:已禁用 很奇怪……这似乎是一个错误…… 三星GT-P3100搭载Android 4.0.3 任何想法如何解决?

有没有办法将Android清单中的元数据保密到包中?

我想在Android清单中使用元数据来自定义服务的行为。 我的服务是库的一部分,有些人可能会在使用我的服务时将敏感数据放入这些属性中。 即使服务未导出,这些元数据属性是否可通过PackageManager对手机上的其他已安装软件包可见?

如何在android中显示/隐形启动器图标?

我正在创建一个应用程序,我需要隐藏图标启动器并根据请求显示图标启动器。 我使用下面的代码来隐藏启动器图标。 // Remove this line from manifest.xml 要么 PackageManager p = getPackageManager(); p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 通过使用这些代码片段,我只能隐藏应用程序图标。 为了显示我使用这些代码片段 PackageManager p = getPackageManager(); p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); 和 PackageManager p = getPackageManager(); p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 但它们都没有影响,或者我无法以编程方式检索启动器图标。 请建议我如何才能完成这项任务。 提前致谢

获取最近并运行的应用程序列表不是进程

我尝试了很多来获取最近和正在运行的应用程序(不是进程)的列表但是无法获得它。 我查看了有关此问题的所有stackoverflow问题,但我得到的关于运行流程和最近任务的唯一答案不是特定于应用程序,就像我们在长按主页按钮时可以在Samsung Mobile任务管理器中看到的那样。 我可以通过以下代码获取正在运行的进程: ActivityManager actvityManager = (ActivityManager) this.getSystemService( ACTIVITY_SERVICE ); List procInfos = actvityManager.getRunningAppProcesses(); for(RunningAppProcessInfo runningProInfo:procInfos){ Log.d(“Running Processes”, “()()”+runningProInfo.processName); } 它给出了所有进程的包名,但我只想要启动的应用程序的包名(Both Recent和Running)。 如何从运行应用程序进程中提取它?

“怎么样”Android应用程序(Facebook等)安装到Android手机?

我知道如何将应用程序安装到Android设备,例如从Play-Store或通过.apk文件。 但我想了解实际的安装过程。 例如在Windows上: 序列号等放在registry中 对软件运行重要的文件放在Program Files文件夹( 主.exe等 )中 到目前为止,我对Android应用程序安装过程的了解是: 在执行Android应用程序(安装后)后,新下载的数据将放置在以下位置: Android / data或Android / obb等。 如果由Android开发人员明确expression,文件也可以放在其他地方,例如二级存储 (存储卡,云存储等) 但除此之外,我对Android安装过程的了解非常渺茫,例如: 我不知道在哪里放置了与Android程序执行相关的重要文件(在Windows的情况下, .exe ,相关媒体,库等) 我同样不知道这些文件是如何在Android设备上构建的(安装后),例如,这些文件是否构建在文件夹中,如: java , res , menu , layout等,就像在Android Studio等环境中开发一样? 我也不知道安装后用户设备上存储的应用程序文件types是什么(从android安装文件或apk解压后),例如它们存储为.java和.xml文件,如开发期间等。 希望有人可以填补空白,谢谢。

在Android 4.2+上使用intent安装apk时启用降级

在Android 4.2+上使用intent安装apk时是否可以启用降级? 我发现有可能,当通过命令shell安装app(使用-d) adb install -r -d ,我希望它也可以通过Intent以某种方式实现。 我正在寻找一些旗帜或东西,但我没有find任何有用的东西。 这是我打开包安装程序的意图: Intent intent = new Intent(Intent.ACTION_VIEW); Uri applicatonFileUri = Uri.fromFile(applicationFile); intent.setDataAndType(applicatonFileUri, PACKAGE_TYPE); startActivity(intent);

具有空白types的Android ClassCastException

我得到了一个奇怪的行为,我想我更需要解释而不是解决方案(尽管解决方案也是受欢迎的!)。 这是代码: PackageManager pm = context.getPackageManager(); List pkgList = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES); if (pkgList == null) return null; for (PackageInfo pkgInfo : pkgList) { ApplicationInfo appInfo = pkgInfo.applicationInfo; // do some stuff, doesn’t modify pkgInfo or appInfo or pkgList } 在某些情况下,我收到错误日志: java.lang.ClassCastException:无法强制转换为android.content.pm.PackageInfo 报告为行: for (PackageInfo pkgInfo : pkgList) 奇怪的是,通常, ClassCastException通常看起来像(AFAIK): java.lang.ClassCastException: foo.bar.ClassA无法强制转换为foo.bar.ClassB 但是,我看到的错误在第一部分显示为空白。 我决定研究一下,如果返回列表的函数内部输入错误的对象列表并返回它或其他东西,那么可能会发生一些事情。 所以我看了一下: ApplicationPackageManager.getInstalledPackages() @SuppressWarnings(“unchecked”) […]

如何确定Android上的Skype通话当前是否处于活动状态

好的,我反编译了Skype的清单,以确定在通话过程中是否有任何服务或广播正在运行。 来电只有几个内部广播。 此外,只存在一个接收器和一个服务。 我使用我的应用程序监视所有正在运行的服务,但SkypeMainService始终在运行,即使不在通话中也是如此。 另外AudioMode不会被skype改变(但根据开发人员想要的logcat-logs,但他们不这样做),所以我不能简单地检查它是否是MODE_IN_CALL 。 如果Skype正在运行并且正在通话,您有什么建议吗? 谢谢! / edit:活动等的简要概述: