2012-06-26 12 views
5

Google play ऐसा करता है जब आप इसका उपयोग करने का प्रयास करते हैं और वाईफ़ाई नेटवर्क से कनेक्ट नहीं होते हैं।मैं "वाईफाई नेटवर्क चुनें" विंडो पर 'बैक' और 'अगला' बटन कैसे ओवरले कर सकता हूं?

मुझे क्या करना है कोशिश कर रहा हूँ की तस्वीर:

image

तुम सिर्फ एक मानक

startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK)); 

चलाते हैं तो यह खिड़की मैं तलाश कर रहा हूँ अप लोड करता है। हालांकि, मैं इसके ऊपर 'बैक' और 'अगला' बटन ओवरलेड करना चाहता हूं। पिछली विंडो पर वापस लौटना चाहिए और अगला केवल तभी चयन किया जा सकता है जब नेटवर्क चुना गया हो और प्रमाणीकरण किया जाता है (यदि आवश्यक हो)। फिर यह दूसरी गतिविधि में जाएगा।

मैंने इसे टुकड़ों के साथ कार्यान्वित करने की कोशिश की (एक इरादा लॉन्च विंडो के लिए और दूसरा बटन के लिए), लेकिन यह काम नहीं कर रहा है।

इस कोड है कि शुरू की जब एप्लिकेशन

public class TestActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.layfile); 
//  Intent n = new Intent(this,Pactivity.class); 
//  startActivity(n); 
//   
    } 
} 

public class Pactivity extends PreferenceActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.preferences); 
    //addPreferencesFromIntent(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK)); 
    setContentView(R.layout.main); 

} 

} 

public class Pfrag extends PreferenceFragment { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // Load the preferences from an XML resource 
     addPreferencesFromResource(R.xml.preferences); 
    } 
} 

किया था यहाँ xml फ़ाइलें

<?xml version="1.0" encoding="UTF-8"?> 

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >  
    <Preference 
     android:key="key" 
     android:title="WiFi" 
     android:summary="Calls WiFi">   
      <intent android:action="android.net.wifi.PICK_WIFI_NETWORK"/>   
    </Preference> 
</PreferenceScreen> 

मैं भी कुछ एक साथ फेंक दिया की कोशिश की पसंद के आधार वर्ग हैं। मैं जो भी चाहता हूं वह भी नहीं कर रहा हूं।

WifiManager.ACTION_PICK_WIFI_NETWORK के साथ आप जो देखते हैं उस पर बटन ओवरलेड कैसे प्राप्त कर सकते हैं?

+1

यह एक प्रोग्रामिंग प्रश्न है, जो स्टैक ओवरफ्लो के लिए अधिक उपयुक्त है। यह स्टैक एक्सचेंज एंड्रॉइड के बारे में अधिक है और उपयोगकर्ता के एंड्रॉइड स्मार्टफोन/टैबलेट के उपयोग को अधिकतम करता है। – t0mm13b

उत्तर

15
Intent intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);  
    intent.putExtra("only_access_points", true); 
    intent.putExtra("extra_prefs_show_button_bar", true); 
    intent.putExtra("wifi_enable_next_on_connect", true); 
    startActivityForResult(intent, 1); 

ऐसा करना चाहिए। Google कोड से इंजीनियर रिवर्स।

+1

आप चुने गए नेटवर्क को कैसे प्राप्त करते हैं? इस इरादे से खुलने वाली स्क्रीन एक चुनिंदा विकल्प प्रदान नहीं करती है। यह आपको अपने कनेक्शन का प्रबंधन करने देता है। – Anonymous

+1

उपयोगकर्ता ने क्या चुना है (पीछे या अगला) के आधार पर, आपको अपना परिणाम कोड प्राप्त होगा। यह समझें कि उपयोगकर्ता वाईफाई का चयन नहीं होने तक अगला चयन नहीं कर सकता है।एक बार जब आप आगे बढ़ जाएंगे तो आप wificonnections की गणना कर सकते हैं और जांच सकते हैं कि कौन सा जुड़ा हुआ है wifiManager.getConfiguredNetworks(); - स्थिति – UncleKing

+0

@uncleking बैक बटन को हटाने का कोई तरीका है? – Alexis

2

यह अंकलकिंग के उत्तर में केवल एक सुधार है।

के बाद से आप के लिए

विशेष रूप से पूछना मैं कैसे क्या आप एक WifiManager.ACTION_PICK_WIFI_NETWORK साथ देखने के लिए पर ओवरले बटन मिल सकता है?

अतिरिक्त only_access_points और wifi_enable_next_on_connect के लिए कोई आवश्यकता नहीं है। आपको केवल extra_prefs_show_button_bar अतिरिक्त की आवश्यकता है। ओवरले बटन केवल इस अंतिम अतिरिक्त का उपयोग करके दिखाई देंगे।

आप इस एडीबी का उपयोग कर कोशिश कर सकते हैं अगर आप चाहते हैं:

am start -a android.net.wifi.PICK_WIFI_NETWORK --ez extra_prefs_show_button_bar True 

तो कम कोड होगा:

Intent intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);  
intent.putExtra("extra_prefs_show_button_bar", true); 
startActivityForResult(intent, 1); 

Android 4.1, 4.4 और 5.1 पर यह कोशिश की।

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