14

仅供参考:我已经浏览了这些链接 ,Android 上出现“未安装应用程序”错误

尝试自动更新时未安装应用程序

我的问题有点不同。

  • 我在 1.0 版中发布了具有默认/主要活动的应用程序作为 XActiivity.java
  • 我发布了更新,将默认/主要活动更改为 YActivity.java
  • 我发现该应用程序可以从应用程序 meanu 正常打开,但是当我尝试从主屏幕快捷方式启动时,它会抛出一个错误,提示“应用程序未安装

我知道这是由于引用旧 XActivity.java 的快捷方式,通过删除将解决此问题,但如果我将应用程序作为更新发布给数千名已经拥有此应用程序的人会在第一次出现此错误消息时感到恼火。我会放弃我得到的好评

4

11 回答 11

22

请检查您是否拥有本android:exported="false"应为"android.intent.category.LAUNCHER". 这将禁止在启动器上启动特定活动。

于 2016-10-10T11:40:05.953 回答
11

在 2021 年,只需添加

android:exported="true"

在清单中,它将被修复

例子

于 2021-10-05T04:18:37.983 回答
4

这是因为主屏幕快捷方式的工作方式与某些启动器中的启动器图标略有不同。

当您将旧快捷方式更新为 YActiivity 时,您的旧快捷方式仍包含对 XActiivity 作为主 Activity 的引用。这会导致 Android 认为该应用未安装,因为它无法在您的应用中找到标记为 MAIN Activity 的 XActiivity。

只需删除主屏幕图标并将其添加回来即可解决此问题。

于 2013-06-28T08:53:01.867 回答
3

推杆

  <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    </intent-filter>

Manifest.XML 内部的特定活动为我完成了这项工作。

于 2018-01-02T11:05:23.530 回答
2

这个问题很老,但今天仍然很重要。

发生这种情况是因为我更改了起始活动。我最初有这个(截断):

<manifest>
    <application>
        <activity android:name=".activities.StartActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.OtherActivity"
            android:exported="false" />
    </application>
</manifest>

我删除了 StartActivity 但在添加意图过滤器后忘记删除 android:exported="false"。它看起来像这样:

<manifest>
    <application>
        <activity
            android:name=".activities.OtherActivity"
            android:exported="false"> <!-- REMOVE THIS -->
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

简而言之,确保您的起始活动已导出。

于 2019-02-24T21:17:58.887 回答
0

如果您在应用程序中同时实现 XActivity 和 YActivity 作为入口点会怎样?XActivity 可以删除它的启动器快捷方式,安装 YActivity 快捷方式,然后启动 YActivity。

于 2013-06-28T09:11:10.430 回答
0

首先确保当前安装的应用程序是否可以移动到 sd 卡,如果它们不能,那就是你在我的 htc 愿望 300 上找到了原因,而生根时我刷了错误的 rom 在 bootloop 中把我的手机变砖了 从现在运行自定义 rom 的商店修复它我不知道是哪一个,但它不支持将应用程序移动到 sd 卡,所以我将应用程序复制到手机内存,卸载或删除了 sd 卡,然后我尝试从手机内存安装,我的 fs2014 1.35 现在安装了 horrray 希望它对你有帮助 这只会工作如果您有自定义 rom,因为原始 rom 没有这样的错误,或者您称其为错误

于 2015-05-24T08:23:24.647 回答
0

就在一分钟前,我遇到了同样的问题。我不是专家,所以我能从所有答案中得到的只是问题在于启动器在主屏幕上创建的快捷方式。我正在使用没有应用程序抽屉的经典简约启动器,因此所有应用程序都在主屏幕上,所以我不能只删除快捷方式而不卸载它。

所以我清除了我的启动器的缓存,它自己为那个应用程序创建了新的快捷方式,它开始工作了。

于 2017-09-01T04:27:17.270 回答
0

可能是一种情况,请检查您的代码中的“应用程序快捷方式创建”,其中Intent.EXTRA_SHORTCUT_INTENT映射到 LAUNCHER 活动。(可能是 SplashScreenActivity)

于 2018-06-04T12:58:24.473 回答
0

“未安装应用程序”错误的可能解决方案

  • 重启手机:在这种情况下,首先要做的是重启你的设备。或者只是关闭、取出并重新插入电池。
  • 确保卸载您不使用的任何应用程序以释放空间,同时卸载当前安装在
    您设备上的同一应用程序的早期版本。
  • 仔细检查您下载的 apk 文件,并确保它们已
    完全复制或下载。

  • 尝试通过转到设置>应用程序>所有>菜单键来重置应用程序权限

    重置应用程序权限或重置应用程序首选项。

  • 将应用安装位置更改为自动或让系统决定。
    确保您的 SD 卡未安装或连接到 PC 或
    其他地方。
  • 对于最坏的情况,请格式化您的 SD 卡 - 将其内容复制
    到其他地方以进行备份和格式化。

  • 最后的解决方案是完全擦除您的设备。通过
    在“设置”下进行出厂重置或在
    恢复模式下进行完全擦除。

参考

于 2017-03-06T14:48:39.410 回答
-1

我写的解决方案是。 AndroidManfest.xml

  1. 我为之前的 XActivity.java 保留了意图过滤器 android.intent.action.MAIN。
  2. 我还保留了意图过滤器 android.intent.action.MAIN 以及作为 LAUNCHER 到 YActivity.java 的类别

在 XActivity.java 的 onCreate() 方法中,我添加了这些行,它似乎已经解决了问题

Intent thisIntent = getIntent();
if(thisIntent.getAction() == "android.intent.action.MAIN"){

        Intent intent = new Intent(this,YActivity.class);
        startActivity(intent);
        finish();
}
于 2013-06-28T09:49:19.830 回答