从主屏幕快捷方式启动时,应用程序未安装错误

时间:2013-06-28 08:46:51

标签: android

仅供参考:我已经完成了这些链接 'App not Installed' Error on Android

Application not installed when i try to autoupdate

我的问题略有不同。

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

我知道它是由于快速引用旧的XActivity.java,通过删除可以解决这个问题,但如果我发布应用程序数千作为更新谁已经有这个应用程序将会对此错误消息的第一个实例感到恼火。在我得到的好评中我会放松

10 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:3)

请检查您的活动android:exported="false"是否属于"android.intent.category.LAUNCHER"。这会禁用在启动器上启动的特定活动。

答案 2 :(得分:3)

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

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

答案 3 :(得分:0)

如果您将XActivity和YActivity同时用作应用中的切入点,该怎么办? XActivity可以删除其启动器快捷方式,安装YActivity快捷方式,并启动YActivity。

答案 4 :(得分:0)

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

  1. 我为之前的XActivity.java保留了意图过滤器android.intent.action.MAIN。
  2. 我还保留了意图过滤器android.intent.action.MAIN以及类别为LAUNCHER到YActivity.java
  3. 在XActivity.java的onCreate()方法中,我添加了这些行,似乎已经解决了问题

    Intent thisIntent = getIntent();
    if(thisIntent.getAction() == "android.intent.action.MAIN"){
    
            Intent intent = new Intent(this,YActivity.class);
            startActivity(intent);
            finish();
    }
    

答案 5 :(得分:0)

首先确保当前安装的应用程序是否可以移动到SD卡 如果他们不能这就是你有理由 在我的htc欲望300,而生根我闪过错误的rom砖我的手机在bootloop 从商店修好了 现在运行自定义ROM我不知道哪一个 但它不支持将应用程序移动到SD卡 所以我把应用程序复制到手机内存 未安装或删除SD卡 然后我尝试从手机内存安装,我的fs2014 1.35现已安装 horrray 希望它对你有所帮助 这只会在你有自定义rom的情况下有效,因为原始rom没有这样的错误 或者你称那是一个错误

答案 6 :(得分:0)

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

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

  • 尝试转到设置&gt;应用&gt;所有&gt;菜单键

    ,重置应用权限
      

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

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

  • 最后一个解决方案是完全擦除您的设备。要么是由 在“设置”下进行恢复出厂设置或完全擦除 恢复模式。

Reference

答案 7 :(得分:0)

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

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

答案 8 :(得分:0)

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

答案 9 :(得分:0)

这个问题很老,但是今天仍然有用。

发生这种情况是因为我更改了启动活动。我原来有这个(被截断):

<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>

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