2015-09-20 135 views
-1

我做了一个应用程序(刚刚)停止显示在我的应用程序抽屉中。它在Titanium Backup中显示为安装的应用程序,但是当我选择它时,它不会给我一个“运行应用程序”选项。我能够运行它的唯一方法是在Android Studio中运行它。我很确定我在我的清单中搞砸了一些东西,这使得它变得奇怪。任何人都可以帮我弄清楚我的清单有什么问题吗?我一直在比较它与许多不同的清单,我试图删除和更改其中的几行,但没有运气。 我到目前为止还没有开发专家,因此如果我遇到的问题是由于我可能不了解的一个非常小的错误,那么对我来说很容易。我的应用程序不会显示在我的应用程序抽屉中

这是我的清单。这是一个短信应用程序。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.user.sms" 
    > 
    <uses-permission android:name="android.permission.SEND_SMS"/> 
    <uses-permission android:name="android.permission.READ_SMS"/> 
    <uses-permission android:name="android.permission.WRITE_SMS"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 
    <uses-permission android:name="android.permission.RECEIVE_MMS"/> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
    <uses-permission android:name="android.provider.Telephony.SMS_RECEIVED"/> 
    <uses-permission android:name="android.permission.WAKE_LOCK"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 

     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" 
      android:windowSoftInputMode="adjustPan" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
        <action android:name="android.intent.action.SEND" /> 
        <action android:name="android.intent.action.SENDTO" /> 
        <category android:name="android.intent.category.DEFAULT" /> 
        <category android:name="android.intent.category.BROWSABLE" /> 
        <data android:scheme="sms" /> 
        <data android:scheme="smsto" /> 
       <data android:scheme="mms" /> 
       <data android:scheme="mmsto" /> 
      </intent-filter> 
     </activity> 

     <!-- BroadcastReceiver that listens for incoming MMS messages --> 
     <receiver android:name=".MmsReceiver" 
      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> 



     <!-- BroadcastReceiver that listens for incoming MMS messages --> 
     <receiver android:name=".SmsReceiver" 
      android:permission="android.permission.BROADCAST_SMS"> 

     <intent-filter> 

       <action android:name="android.provider.Telephony.SMS_DELIVER" /> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED"/> 

      </intent-filter> 
     </receiver> 


     <!-- Service that delivers messages from the phone "quick response" --> 
     <service android:name=".QuickReply" 
      android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" 
      android:exported="true" > 
      <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> 



    </application> 





</manifest> 

回答

0

您需要使用两个不同的intent-filter,一个用于android.intent.action.MAIN动作和一个用于android.intent.action.SENDandroid.intent.action.SENDTO行动。

从此改变你的AndroidManifest.xml

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:windowSoftInputMode="adjustPan" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
      <action android:name="android.intent.action.SEND" /> 
      <action android:name="android.intent.action.SENDTO" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="sms" /> 
      <data android:scheme="smsto" /> 
     <data android:scheme="mms" /> 
     <data android:scheme="mmsto" /> 
    </intent-filter> 
</activity> 

这样:

<activity 
    android:name=".MainActivity" 
    android:label="@string/app_name" 
    android:windowSoftInputMode="adjustPan" > 
    <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.SEND"/> 
     <action android:name="android.intent.action.SENDTO"/> 

     <category android:name="android.intent.category.DEFAULT"/> 
     <category android:name="android.intent.category.BROWSABLE"/> 

     <data android:scheme="sms"/> 
     <data android:scheme="smsto"/> 
     <data android:scheme="mms"/> 
     <data android:scheme="mmsto"/> 
    </intent-filter> 
</activity> 
相关问题