最近我在做开发时,连接我的手机部署好应用时,点击桌面图标出现“你的手机上未安装应用程序”的提示,通过查看已安装的应用列表,确信我已经安装上了该应用,但是为什么会出现“你的手机上未安装应用程序”的提示信息呢?在网上搜了好久,找的解决方案也不适用我的app。最后还是自查代码吧。
我在Manifest.xml中注册主activity的代码是这样写的
<activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleTop" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="behind"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
这样的代码,在模拟器中运行没有问题,但是在我的手机上就出现“你的手机上未安装应用程序”的提示。
问题出在 android:exported这个属性上 网上查到的解释是 该属性的意思 “是否允许activity被其它程序调用”,默认为 true。
解决方案如下:
将属性设置为 true 或者删除该属性即可。
ps:上述场景是在我的 红米note3 出现的,在 模拟器上则没有此场景,不知道是不是小米改了什么东西导致的,如有知道的人麻烦告诉我下,成分感谢。