2012-11-23 23 views
5

से लौटने के बाद एंड्रॉइड कीबोर्ड अभी भी दिखाई देता है मेरे पास टैबहोस्ट में चल रही एक गतिविधि (विस्तार गतिविधि) है। मैं एंड्रॉइड ईमेल क्लाइंट को उपयोगकर्ता एक्शन से लॉन्च करता हूं। अगर मैं ईमेल क्लाइंट में "डिस्कार्ड" बटन दबाता हूं, तो ईमेल क्लाइंट निकलता है लेकिन ऑन-स्क्रीन कीबोर्ड दिखाई देता है।ईमेल गतिविधि

मेरे पास मेरे एप्लिकेशन पर कोई संपादन टेक्स्ट नहीं है, इसलिए यह सुनिश्चित न करें कि कीबोर्ड क्यों रहता है। मैंने How do I remove the keyboard after I finish an activity? के कई पुनरावृत्तियों की कोशिश की है हालांकि कोई भाग्य नहीं है। कोई विचार?

कोड नमूना

package com.test.launchmail; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.util.Log; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.Toast; 

public class myEmail extends Activity 
{ 
    private final String TAG = "** Email **"; 


    public static void send (Context ctx, String addy, String subject, String body) 
    { 
     // check to make sure the entry has a phone number 
     try 
     { 
      // use the builtin chooser for users mail app 
      Intent sendIntent = new Intent(Intent.ACTION_SEND); 
      sendIntent.setType("text/plain"); 

      sendIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String [] {addy}); 
      sendIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
      sendIntent.putExtra(android.content.Intent.EXTRA_TEXT, body); 
      ctx.startActivity (Intent.createChooser(sendIntent, "Send via which Application?")); 

     } 
     catch (Exception e) 
     { 
      Toast.makeText (ctx, "No activity was found to handle this action",Toast.LENGTH_SHORT).show(); 
     } 
    } 


    @Override 
    protected void onPostResume() 
    { 
     // This executes, but keyboard still visible. 
     Log.d ("myEmail", "hiding"); 
     InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow (mainApp.tabHost.getCurrentTabView().getApplicationWindowToken(),imm.HIDE_IMPLICIT_ONLY); 

     super.onResume(); 
    } 
} 

उत्तर

0

वांछित गतिविधि में अपनी मालसूची फ़ाइल में रखने का प्रयास (एक है कि आप कीबोर्ड नहीं दिखाया जा सकता है) इस: windowSoftInputMode="stateHidden"

+0

ज़िज़ियाना - मैंने राज्य को जोड़ा है साथ ही साथ राज्य हमेशा के लिए, अभी भी कोई भाग्य नहीं है। – wufoo

2

अच्छा दु: ख कैसे परेशान। मैंने पूरे दिन चारों ओर खोज की और आखिर में जवाब देने के लिए 29 अलग-अलग तरीकों के धागे के नीचे दफन किया गया। प्रत्येक व्यक्ति InputMethodManager की एक अलग विविधता के साथ सफलता का दावा करता है। इसके लायक होने के लिए, यह मेरे लिए Close/hide the Android Soft Keyboard काम करता है।

यह आशा करता है कि ऐसा करने के लिए एक दिन एक मानक एपीआई कॉल होगा।