最近我在做開發時,連接我的手機部署好應用時,點擊桌面圖標出現“你的手機上未安裝應用程序”的提示,通過查看已安裝的應用列表,確信我已經安裝上了該應用,但是爲什麼會出現“你的手機上未安裝應用程序”的提示信息呢?在網上搜了好久,找的解決方案也不適用我的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 出現的,在 模擬器上則沒有此場景,不知道是不是小米改了什麼東西導致的,如有知道的人麻煩告訴我下,成分感謝。