标签: android-package-managers

启动任何已安装的应用程序

我有一个应用程序,用户可以在其中滚动浏览所有已安装应用程序的列表,他可以选择任何应用程序并启动它。

对于大多数应用程序,这适用于:

startActivity(getPackageManager().getLaunchIntentForPackage(packageName_selectedapp));
Run Code Online (Sandbox Code Playgroud)

其中 packageName_selectedapp 是列表中所选应用程序的字符串。

但是对于某些应用程序,函数 getLaunchIntentForPackage(packageName_selectedapp) 返回“null”,例如,如果它是拨号程序或联系人活动。

如何获得拨号器和联系人的launchIntent?

提前谢谢!

android android-intent android-package-managers

2
推荐指数
1
解决办法
133
查看次数

Android Publisher Google Console API 未返回评论列表

根据谷歌文档,我正在调用端点来获取所有评论,如下所示:

curl \
'https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.questionpro/reviews' \
  --header 'Authorization: Bearer [myAccessToken] \
  --header 'Accept: application/json' \
  --compressed
Run Code Online (Sandbox Code Playgroud)

但此端点返回一个空的 objec {},就像没有要获取的评论一样,但有:

单击此处查看我要获取的公众评论

android google-api android-package-managers google-play-services google-play-developer-api

2
推荐指数
1
解决办法
845
查看次数

pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)没有给出corerct答案

我想在尝试打开qr代码阅读器之前检查设备是否有任何相机.

我有以下代码:

 public boolean checkDeviceCompatibility() {

PackageManager pm = context.getPackageManager();

if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)) {
    if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
    return true;
    } else {
    // use front camera
    Toast.makeText(
        context,
        "This device does not have a back camera so it has automatically reverted to the front camera",
        Toast.LENGTH_SHORT).show();
    return true;
    }
} else {
    util.displayErrorDialog(
        context,
        "This device does not have any cameras and therefore cannot make use of the QR Code feature.");
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

但现在,如果我在我的Galaxy S3上使用两个摄像头以调试模式运行此代码.第一个if语句返回false.

为什么会这样?

camera android android-hardware android-package-managers android-camera

1
推荐指数
1
解决办法
3461
查看次数

以编程方式unistall android应用程序

我希望能够允许我的用户从我的应用程序中卸载应用程序.就像Google Play商店允许其用户一样(请在下图中)

在此输入图像描述

主要的问题是如何定义一个按钮,通过按下它我们可以通过提供包名称或其他信息卸载应用程序.就像图像上的卸载按钮.

android uninstall android-package-managers

1
推荐指数
1
解决办法
2791
查看次数

尝试检索PackageInfo时获取Null上下文

花了一整天的时间,但无法让它工作.

我正在尝试创建一个app抽屉.我想获得当前安装的应用程序列表,然后将其放在GridLayout中.

当我尝试getPackageManager从扩展我的MainActivity的类调用时,我得到一个nullPointerException .

InstalledApp类:

public class InstalledApp extends MainActivity {
Context context = this;

public InstalledApp(Context c) {
    this.context = c;
}

class PInfo {
    public String appname = "";
    public String pname = "";
    public String versionName = "";
    public int versionCode = 0;
    public Drawable icon;
    public void prettyPrint() {
        System.out.println(appname + "\t" + pname + "\t" + versionName + "\t" + versionCode);
    }
}

public ArrayList<PInfo> getPackages() {
    ArrayList<PInfo> apps = getInstalledApps(false); /* false …
Run Code Online (Sandbox Code Playgroud)

java android android-package-managers

1
推荐指数
1
解决办法
1万
查看次数

.apk在ART中的安装过程。与Dalvik VM安装过程的区别

最近我回答了这个问题,其中描述了.apk到Android手机的文件的整个安装过程。关于使用的一件事Dalvik VM。现在我想知道安装过程是否与使用过程完全相同ART?有什么区别?我的意思是PackageManager的工作,path格式转换dex等。谷歌搜索没有提供太多信息,仅提供有关性能,管理内存和类似内容的信息。如果有知识的人可以分享此信息,我将非常感激。

android dalvik apk android-package-managers android-install-apk

1
推荐指数
1
解决办法
2219
查看次数

如何检测前置摄像头和闪光灯可用性

嗨,我正在开发自定义视频应用程序.我能够获得currentCameraId 通过

currentCameraId = Camera.CameraInfo.CAMERA_FACING_BACK;
Run Code Online (Sandbox Code Playgroud)

我有两个问题要问:

1)如何只用前置摄像头检测Android设备.

因为在Micromax标签中只有前置摄像头的平板电脑上,currentCameraId为0.

2)如何检查相机闪光灯的可用性,因为下面的代码在某些手机上不起作用

flash = this.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
Run Code Online (Sandbox Code Playgroud)

请帮忙.

谢谢!

flash android android-package-managers android-camera front-camera

0
推荐指数
1
解决办法
2790
查看次数

未创建包文件夹 - Android

我正在创建一个Android应用程序.在未创建的Android/data/package.com文件夹下.我是否需要在此文件夹下创建目录?我在Android 6.0设备上测试.

android packages android-package-managers

0
推荐指数
1
解决办法
2603
查看次数

Android Studio:找不到 PackageManager 包 | 如何在 Android 11 上访问包?

我正在尝试从TutorialPoint运行此示例代码,但它始终显示 toast

Intent launch = getPackageManager().getLaunchIntentForPackage("com.google.android.youtube");
    if (launch != null) {
        startActivity(launch);
    } else {
        Toast.makeText(P01.this,
                "There is an issue running this code!",
                Toast.LENGTH_SHORT).show();
    }
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙解决一下吗!

在这里请求帮助后,我在 Stack Overflow 上搜索了相关内容,并发现了这篇文章。我用它来显示设备上的所有软件包,但它只列出了少数几个:

ResolveInfo{f1539ce com.android.settings/.Settings m=0x108000}
ResolveInfo{6fa90ef com.android.vending/.AssetBrowserActivity m=0x108000}
ResolveInfo{8b2b7fc com.android.stk/.mtk.StkLauncherActivityII m=0x108000}
ResolveInfo{10f4e85 com.dsaghicha.uscs407practicals/.MainActivity m=0x108000}
Run Code Online (Sandbox Code Playgroud)

最后一个是我的应用程序包。如果我在这些包中的任何一个上运行上述代码,它将运行

显然,我使用的是 Android 11,并且有一项隐私政策限制 Android 11 上的程序包可见性 。了解更多 现在,如何访问 Android 11 上的程序包?

android android-package-managers

0
推荐指数
1
解决办法
3061
查看次数

为什么 Google Play 可以在没有用户交互的情况下安装 APK

众所周知,由于 google play 作为一个系统应用程序出现,它可以获得对第 3 方应用程序隐藏的所有权限和 api,它可以在后台安装 apk,无需用户交互(无需单击安装)。

我的一位客户需要一份官方证明来证明这一点。如果您知道官方链接(可能在 support.google 或developer.android 中),请将其发布在此处。

android android-package-managers google-play

-2
推荐指数
1
解决办法
1008
查看次数

在android中成功安装后如何获取任何应用程序的包名?

我正在开发一个包含应用程序列表的应用程序,我要做的是当用户点击特定应用程序时,他将被重定向到谷歌游戏商店,成功下载该应用程序后,我必须得到该应用程序的包名称我正在使用广播接收器.但是每当在设备中下载新应用程序时,此接收器都会获得每个应用程序的包名.但我只想获得我的应用程序中列出的该应用程序的包名称.

android android-package-managers

-5
推荐指数
1
解决办法
597
查看次数