प्रति एक बार जब आप चयनकर्ता के साथ startActivity()
कर पूछ साथ startActivity() नहीं कर सकते अपने Intent
विकल्प इस असाइनमेंट (आईसीएस पर स्थायी या एक बार समय निर्धारित करने के साथ साथ अपनी "हमेशा "और" बस एक बार "एक्शन बटन, 2.x पर यह चेकबॉक्स है)। इस कोड के लिए हालांकि: "| बस एक बार हमेशा" बटन और मेरा चयन स्थायी नहीं कर सकते हैं (मैं केवल सूचीबद्ध क्षुधा मिला है और यह टैप करके किसी भी सक्रिय कर सकता है), एंड्रॉयड किए गए सभी एप्लिकेशन को संभालने के लिए हकदार सूची जाएगा चयनकर्ता सिर्फ एप्लिकेशन
public class Redirector {
public static void showActivityWithChooser(Context context, int chooserLabelTitleId, Intent intent) {
try {
context.startActivity(Intent.createChooser(intent,
context.getResources().getString(chooserLabelTitleId)));
} catch(Exception e) {
e.printStackTrace();
}
}
public static void viewInExternalApplication(Context context, String url) {
Intent intent = new Intent( Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
showActivityWithChooser(context, R.string.open_chooser_title, intent);
}
}
मुझे कोई देखें। किस प्राथमिक ने मुझे अनदेखा किया कि एंड्रॉइड को उपयोगकर्ता पसंद को लगातार बनाने में असमर्थ बनाया गया?
तस्वीरें देखें: छोड़ दिया संवाद है मैं देखना चाहते हैं क्या है, लेकिन अभी मैं क्या मिलता है (दोनों संवाद में आवेदनों की अलग संख्या अप्रासंगिक है):
'हमेशा' का अर्थ चयन स्थायी बना देता है। आपके ऐप का इस संवाद को नियंत्रित करने का कोई तरीका नहीं है, इसका एंड्रॉइड का हिस्सा सीधे है। – mah
@mah: आप बिंदु चूक गए। –
वास्तव में मैंने किया था। हालांकि, मेरी टिप्पणी का दूसरा भाग खड़ा है; यह एक ऐसा संवाद नहीं है जिसे आप अपने ऐप से नियंत्रित कर सकते हैं। समस्या यह है कि आप showActivityWithChooser को कॉल कर रहे हैं, जिसका उद्देश्य उपयोगकर्ता को अपना डिफ़ॉल्ट बदलने की अनुमति नहीं है बल्कि इसके बजाय उपयोगकर्ता को चुनने के लिए मजबूर करना है। – mah