मेरे एप्लिकेशन स्टैक में डिफ़ॉल्ट एसएमएस गतिविधि लॉन्च करने में असमर्थ। नेक्सस 6 लॉलीपॉप और एंड्रॉइड एक मार्शमलो में देखा गया मुद्दा।व्हाट्सएप एसएमएस कार्यान्वयन के माध्यम से आमंत्रण की तरह, बस एसएमएस, इरादे चयनकर्ता के माध्यम से नहीं
मैंने ACTION_VIEW के इरादे को भेजने की कोशिश की है, और smsto: और एसएमएस बॉडी सेट करें।
मैं एसएमएस एप्लिकेशन लॉन्च करने में सक्षम हूं।
मेरे पास मेरे ऐप का निम्न व्यवहार है।
मैं अपने अनुप्रयोग में संपर्क नंबर की सूची है
उपयोगकर्ता को आमंत्रित, मैं, डिफ़ॉल्ट एसएमएस एप्लिकेशन को लॉन्च करने में भरने और एसएमएस शरीर और डिफ़ॉल्ट SMS ऐप मेरी गतिविधि कार्य में होना चाहिए करना चाहते हैं का कहना है कि जब ।
वापस दबाकर, मैं मैसेजिंग ऐप बंद करना चाहता हूं।
1. नीचे संदर्भ तस्वीरें देखने मेरा ऐप 2. पर आमंत्रित करते हैं आमंत्रित करते हैं, लांच एसएमएस
send sms, press back, check recent app list
क्या मैं प्राप्त करने के लिए कर रहा हूँ कृपया। मैं ऊपर उल्लिखित किटकैट प्राप्त करने में सक्षम हूं। (डिफ़ॉल्ट एसएमएस ऐप खत्म) लेकिन, लॉलीपॉप और मार्शमलो में नहीं। डिफ़ॉल्ट एसएमएस ऐप पृष्ठभूमि में जाता है।
- डिफ़ॉल्ट एसएमएस ऐप लॉन्च करें और डेटा भरें।
- वापस दबाकर, मैसेजिंग ऐप पृष्ठभूमि में जाता है।
- अब मैं हालिया ऐप सूची से एसएमएस ऐप लॉन्च करने में सक्षम हूं, जो फिर से प्राप्तकर्ता को उसी संख्या और शरीर से भरता है, जिसका इरादा नहीं है।
समस्या यह है कि ऐप नए गतिविधि कार्य में लॉन्च किया गया है। मैं अपने गतिविधि कार्य में उस संदेश एप्लिकेशन को प्राप्त करने में असमर्थ हूं। अगर मैं उस मैसेजिंग ऐप पर वापस दबाता हूं, तो मैं अपने ऐप पर वापस आ सकता हूं। लेकिन अगर मैं हालिया सूची से मैसेजिंग ऐप चुनता हूं, तो यह हर बार एसएमएस प्राप्तकर्ता और शरीर से भरा गतिविधि दिखाता है।
नीचे
private void sendTextMessage(String to)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) // At least KitKat
{
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(mActivity); // Need to change the build to API 19
Logger.log_error(TAG + "sendTextMessage() above KITKAT");
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra("address", to);
sendIntent.putExtra("sms_body", "sms body");
sendIntent.putExtra(Intent.EXTRA_TEXT, "sms body");
if (defaultSmsPackageName != null)// Can be null in case that there is no default, then the user would be able to choose
// any app that support this intent.
{
sendIntent.setPackage(defaultSmsPackageName);
Logger.log_error(TAG + "sendTextMessage() defaultSmsPackageName = " + defaultSmsPackageName);
}
getContext().startActivity(sendIntent);
}
else // For early versions, do what worked for you before.
{
Intent smsIntent = new Intent(android.content.Intent.ACTION_VIEW);
Logger.log_error(TAG + "sendTextMessage() below KITKAT");
smsIntent.setType("vnd.android-dir/mms-sms");
smsIntent.putExtra("address", to);
smsIntent.putExtra("sms_body", getString(R.string.str_share_app_short_text));
startActivity(smsIntent);
}
}
कोड स्निपेट शुरूआत के इस तरह संदेश सेवा एप्लिकेशन के साथ खिलवाड़ कर रहा है प्राप्त करें।
मैंने किसी इतिहास, एकल उदाहरण के साथ इरादे लॉन्च करने का प्रयास किया है, जो रिकेंट से बाहर नहीं है।
संदर्भ के लिए मैं व्हाट्सएप स्क्रीनशॉट संलग्न कर रहा हूं, जिसे मैं अपनी गतिविधि में रखने की कोशिश कर रहा हूं। मैं स्टैक ओवरफ़्लो में 2 से अधिक लिंक पोस्ट करने में सक्षम नहीं हूं, इसलिए केवल हालिया ऐप सूची को ही रखना।
- लॉन्च whatsapp, संपर्क करने के लिए जाना, नीचे स्क्रॉल करें, के लिए हरी में आमंत्रित करते हैं और को आमंत्रित करते हैं।
- यह एसएमएस ऐप लॉन्च करेगा।
- रिकेंट की जांच करें।
मैं सुझाव है कि आप बेहतर तरीके से निगरानी में https://fabric.io/kits/android/branch और https://firebase.google.com/docs/invites/android देखने के लिए। –