में प्रोग्रामिंग रूप से 'Google खाता जोड़ें' गतिविधि शुरू करना मैं एक ऐसे एप्लिकेशन को विकसित कर रहा हूं जिसके लिए कुछ विकल्पों के लिए Google खाते की आवश्यकता है। कोई खाता नहीं मिलने पर विकल्प अक्षम हैं, लेकिन मैं उपयोगकर्ता को पॉपअप के माध्यम से पूछकर एक जोड़ने के लिए प्रस्तुत कर रहा हूं, यदि उपयोगकर्ता हाँ पर क्लिक करता है, तो गतिविधि शुरू होनी चाहिए। वैश्विक "खाता जोड़ें" पृष्ठ प्रदर्शित करने के लिए यह ठीक काम कर रहा है, लेकिन मैं इसे अतिरिक्त चरण के लिए अनिश्चित छोड़ना चाहता हूं। आखिरकार, किसी Google खाते की आवश्यकता होने पर किसी Exchange खाते को जोड़ने का विकल्प क्यों मौजूद है, यह केवल भ्रमित है। तो मैं नए Google खाता सेटअप पेज पर डिफ़ॉल्ट करना चाहता हूं।एंड्रॉइड
जावा
try {
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.google.android.gsf", "com.google.android.gsf.login.AccountIntroActivity");
//if(getApplicationContext().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
getApplicationContext().startActivity(intent);
//} else {
//getApplicationContext().startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
//}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
जब मैं इस चलाने के लिए, निम्न exeception फेंक दिया जाता है:
05-29 18: 24: 50.741: डब्ल्यू/System.err (10,875): android.content .ActivityNotFoundException: स्पष्ट गतिविधि वर्ग {com.google.android.gsf/com.google.android.gsf.login.AccountIntroActivity} ढूंढने में असमर्थ; क्या आपने इस गतिविधि को अपने AndroidManifest.xml में घोषित किया है?
AndroidManifest.xml
<activity
android:name="com.google.android.gsf.login.AccountIntroActivity"/>
प्रश्न: मैं यहाँ क्या याद आ रही है?
संपादित करें:
मैं addAccount का उपयोग कर, यह, कुछ नहीं होता, कोई त्रुटि फेंक दिया जाता है काम नहीं करता है एक अलग तरह की कोशिश की, कोई नई गतिविधि Google खाते में जोड़ने के लिए शुरू होता है। वैसे, मूल संस्करण में संपूर्ण प्रयास पकड़ ब्लॉक एक AlertDialog/श्रोता में है। जोड़ने, गूगल खाता गतिविधि के वर्ग के नाम बदल सकते हैं या यह पहले से ही विभिन्न Android संस्करण पर अलग हो सकता है -
AccountManager acm = AccountManager.get();
acm.addAccount("com.google", null, null, null, null, null, null);
मुझे डी *** की तरह लगता है, लेकिन मुझे लगता है कि मुझे अभी जवाब के रूप में अपना जवाब झंडा देना है। आपके सभी धैर्य के लिए धन्यवाद और @ निकोले एलेनकोव की मदद करें! – slinden77
"thisclassname" एक वास्तविक वर्ग है? –