2015-10-11 11 views
6

मैं व्हाट्सएप में "ईमेल वार्तालाप" सुविधा का उपयोग करते समय दिखाए गए ऐप्स सूची में अपना ऐप प्रकट करने में रूचि रखता हूं।व्हाट्सएप चैट ईमेल करते समय ऐप चयनकर्ता में अपना एंड्रॉइड ऐप कैसे दिखाना है?

जब मेरे फोन प्रवेश करने "ईमेल वार्तालाप" WhatsApp सुविधा मैं एक SEND_MULTIPLE आशय Gmail द्वारा प्राप्त की जा रही देख सकते हैं का उपयोग करते समय:

I/ActivityManager( 859): START u0 {act=android.intent.action.SEND_MULTIPLE typ=text/* flg=0xb080001 pkg=com.google.android.gm cmp=com.google.android.gm/.ComposeActivityGmail (has clip) (has extras)} from uid 10114 on display 0 

तो मैं मैं में SEND_MULTIPLE कार्रवाई के लिए लक्ष्य फ़िल्टर जोड़ने की जरूरत है लगता है मेरा ऐप प्रकट

वर्तमान में मेरी AndroidManifest.xml है:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="co.xxx.xxx" > 


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


    <activity 
     android:name=".MyActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" > 
     <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.SENDTO" /> 

      <data android:scheme="mailto" /> 

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

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

      <data android:scheme="mailto" /> 

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

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

      <data android:mimeType="*/*" /> 

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

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

      <data android:mimeType="*/*" /> 

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

    </activity> 

</application> 

</manifest> 

हालांकि, जब मैं एंड्रॉयड स्टूडियो के माध्यम से अपने फोन में मेरी एप्लिकेशन को चलाने के लिए, यह दिखाई नहीं देता जब मेरे WhatsApp बातचीत निर्यात करने के लिए कोशिश कर रहा। इसके विपरीत, यह मेरी गैलरी की एक तस्वीर साझा करने का प्रयास करते समय ऐप चयनकर्ता में दिखाई देता है।

AndroidManifest में मुझे क्या याद आ रही है जो मेरे व्हाट्सएप वार्तालापों को ईमेल करते समय मेरे ऐप को दिखाए जाने से रोकती है? क्या ऐप चयनकर्ता में दिखाई देने के लिए मेरे ऐप को समझने के लिए ओएस को घोषणा करने की ज़रूरत है?

मैंने K-9 Mail ऐप इंस्टॉल करने का प्रयास किया है। इसे इंस्टॉल करने के बाद, यह व्हाट्सएप में चैट ईमेल करते समय ऐप चयनकर्ता में दिखाई नहीं देता है, लेकिन के -9 में खाता सेट करने के बाद, यह चयनकर्ता में दिखाई देता है। क्या यह संभव है कि के 9 ने ओएस को घोषणा की कि वह ईमेल भेजने के लिए तैयार है?

धन्यवाद!

उत्तर

12

दुर्भाग्यवश यदि आपका मेनिफेस्ट ठीक से कॉन्फ़िगर किया गया है तो भी आप चैट को ईमेल करते समय ऐप चयनकर्ता में अपना ऐप नहीं देख सकते हैं क्योंकि आपके ऐप को व्हाट्सएप द्वारा श्वेतसूचीबद्ध करने की आवश्यकता है। व्हाट्सएप के ऐप चयनकर्ता में केवल चुने गए पैकेज नाम उपलब्ध होंगे।

उदाहरण के लिए हमारे पास पैकेज नाम com.example.whatsappemailchat के साथ एक ऐप है। AndroidManifest.xml कुछ इस तरह है:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.whatsappemailchat" > 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.whatsappemailchat.MainActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar" > 
      <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.SENDTO"/> 
       <data android:scheme="mailto"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.SEND"/> 
       <data android:mimeType="*/*"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.SEND_MULTIPLE"/> 
       <data android:mimeType="*/*"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW"/> 
       <data android:scheme="mailto"/> 

       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE"/> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

और इस build.gradle है:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.example.whatsappemailchat" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

सब कुछ सही तरीके से कॉन्फ़िगर, हम अपने आवेदन चलाने के लिए, लेकिन अगर हम More > Email chat चुनें हमारे एप्लिकेशन दिखाई नहीं देगा। खुला WhatsApp

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.google.android.gm.test" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

अब हमारे आवेदन चलाने के लिए,, एक चैट का चयन करें,:

अब (प्रत्यय के रूप में जीमेल के साथ साथ .test के पैकेज के नाम वास्तविक Gmail के साथ टकराव से बचने के लिए) applicationIdcom.google.android.gm.test को बदलने के हमारे build.gradle में More > Email chat चुनें और जादुई हमारे एप्लिकेशन को एप्लिकेशन चयनकर्ता में हो जाएगा, जैसा कि आप इस स्क्रीनशॉट में देख सकते हैं:

enter image description here

मैं पुष्टि कर सकता हूं कि व्हाट्सएप द्वारा इन पैकेज नामों को श्वेतसूचीबद्ध किया गया है:

  • com.google.android।ग्राम
  • com.fsck.k9
  • com.boxer.email
  • com.google.android.email

मुझे लगता है कि केवल व्यवहार्य समाधान अगर यह WhatsApp संपर्क करें और पूछने के लिए प्रयास करने के लिए है कि अपने पैकेज नाम whitelist संभव है।

+0

अगर मैं इसे Google डेवलपर कंसोल पर अपलोड करने का प्रयास करता हूं तो यह काम नहीं करता है क्योंकि मैंने Google पैकेज की नकल करने की कोशिश की है। – motis10

+0

हाय वेट्सएप श्वेतसूची में अपना आवेदन जोड़ने के लिए वैसे भी है – prasanthMurugan

संबंधित मुद्दे