我的自我开发应用程序存在严重问题。
长篇故事:
我创建了一个应用程序并在我的台式机上开发了它。因为我需要向我的客户展示它,我决定在我的笔记本上安装android studio并在那里试用应用程序。我在我的笔记本上导入了项目并启动了Android Studio,我运行了项目,应用程序启动并像我的智能手机一样工作但是......当我回到主屏幕时,Icon丢失了(在我的桌面上)电脑版本显示),它甚至没有在应用程序列表中,但如果我继续“设置” - > “管理应用程序”,它显示在那里,我可以取消或停止它,但因为我没有图标,如果我不使用Android Studio重新运行该应用程序,我就无法再启动它。我回到我的桌面电脑并尝试从那里重新运行应用程序,但没有任何改变,图标仍然缺失。
短篇小说:在我的笔记本电脑上使用android studio重新安装我的应用程序后,主屏幕和应用程序列表中缺少应用程序图标,但我可以在“设置”中看到它 - > “管理应用程序”。如果我回到我开发应用程序的原始电脑并尝试重新运行它,结果是相同的......图标缺失。
我在Stackoverflow上阅读了与我的问题类似的所有帖子,但没有任何帮助我解决它。我希望有人能帮助我。
如果需要,我发布了AndroidManifest.xml,但由于隐私/版权,我无法发布所有代码,抱歉。我试着用最正确的英语写作,如果我的写作太可怕,我会事先道歉。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.steel.bluetoothdatatransfer" >
<uses-sdk
android:minSdkVersion="12"
android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SMS_DELIVER_ACTION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- <uses-permission android:name="android.permission.BROADCAST_SMS" /> -->
<application
android:allowBackup="true"
android:icon="@drawable/ic_bt"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</activity>
<receiver
android:name=".RecMex"
android:enabled="true"
android:exported="true"
android:permission="android.permission.BROADCAST_SMS" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
<!-- BroadcastReceiver that listens for incoming MMS messages -->
<receiver
android:name=".MmsReceiver"
android:enabled="true"
android:exported="true"
android:permission="android.permission.BROADCAST_WAP_PUSH" >
<intent-filter>
<action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" />
<data android:mimeType="application/vnd.wap.mms-message" />
</intent-filter>
</receiver>
<!-- Activity that allows the user to send new SMS/MMS messages -->
<activity
android:name=".ComposeSmsActivity"
android:label="@string/title_activity_compose_sms" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</activity>
<!-- Service that delivers messages from the phone "quick response" -->
<service
android:name=".HeadlessSmsSendService"
android:enabled="true"
android:exported="true"
android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" >
<intent-filter>
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
</service>
<!-- BroadcastReceiver that listens for incoming SMS messages -->
<receiver
android:name=".SmsReceiver"
android:permission="android.permission.BROADCAST_SMS" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>
<activity
android:name=".DeviceListActivity"
android:label="@string/intestazione"
android:theme="@android:style/Theme.Holo.Dialog"
>
</activity>
</application>
答案 0 :(得分:74)
这种情况正在发生,因为您将所有内容都传递到一个intent过滤器中。尝试根据用例或至少单独的Launcher和Main过滤器将它们分开。
像这样:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="sms" />
<data android:scheme="smsto" />
<data android:scheme="mms" />
<data android:scheme="mmsto" />
</intent-filter>
答案 1 :(得分:8)
添加不同的意图过滤器可以解决您的问题
<activity
android:name=".activities.SplashActivity"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:host="example.com"></data>
<data android:scheme="http"></data>
<data android:pathPattern="/.*"></data>
</intent-filter>
</activity>
答案 2 :(得分:0)
如果您确定已正确定义了应用徽标, 问题是在启动器活动中使用android:scheme。见下文帖子:
答案 3 :(得分:0)
我遇到了同样的问题,但上述解决方案对我不起作用。我必须删除 Vector
属性才能让它再次出现在屏幕上。
在 MainActivity 之前是这样的:
label
然后像这样:
<activity
android:name=".HomeTabs.NavigationHome"
android:label="@string/title_activity_navigation_home">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>