2010-02-05 14 views
7

संभव डुप्लिकेट:
Android - how to set the wallpaper imageएंड्रॉइड - वॉलपेपर छवि कैसे सेट करें?

क्या मैं, है क्या करने के लिए कोशिश कर रहा हूँ एक छवि यूआरआई (कोई फसल)

का उपयोग कर रहा पर एक noob हूँ वॉलपेपर सेट एंड्रॉइड पर देव और सामान्य रूप से देव। वॉलपेपर सेट करने के लिए कोड प्रदान करने पर इंटरनेट ने मुझे असफल कर दिया है।

हाँ देव संसाधन साइट का कहना है

public void setStream (InputStream data)

लेकिन मुझे यह समझ में नहीं आता, कुछ नमूना कोड बहुत मेरी मदद करेंगे।

+0

संबंधित: [एंड्रॉइड - वॉलपेपर छवि कैसे सेट करें] (http://stackoverflow.com/questions/1964193/android-how-to-set-the-wallpaper-image) – McDowell

उत्तर

3

यदि आपके पास छवि यूआरएल है तो आप धारा (abstraction) का उपयोग करके प्रतिनिधित्व संसाधन खोल सकते हैं: new URL("your.image.url.com").openStream()। यह विधि कॉल InputStream प्रकार का ऑब्जेक्ट लौटाएगी जिसे आप setStream() विधि के लिए तर्क के रूप में पास कर सकते हैं।

आप सीधे एक धारा निर्दिष्ट करना चाहते हैं न, तो आप, दूरस्थ धारा खोल सकते हैं एक बिटमैप बनाने और उसके बाद या तो एक WallpaperManager उदाहरण का उपयोग करें या एक context.setWallpaper(bitmap) (यह अब मान्य नहीं है) वॉलपेपर के रूप में अपने बिटमैप सेट करने के लिए करते हैं।

संदर्भ के लिए this धागा देखें।

+0

यह मेरा वर्तमान कोड है .. इनपुटस्ट्रीम = getContentResolver()। OpenInputStream (imageUri); bgImage = BitmapFactory.decodeStream (है); संदर्भ संदर्भ = this.getBaseContext(); context.setWallpaper (bgImage); bgImage (लाइन 2 और 4) और getBaseContext() (पंक्ति 3) में ' त्रुटियाँ भी क्या कोई यूआरआई और एक यूआरएल के बीच क्या अंतर है? मुझे संक्षिप्त उत्तर मिला "एक यूआरएल एक यूआरआई है, लेकिन एक यूआरआई एक यूआरएल नहीं है" –

+0

ठीक है मैंने लाइन 2 और 4 पर त्रुटियों को ठीक किया है, मैंने बिटमैप बीजीआईमेज को परिभाषित नहीं किया है। लेकिन अभी भी GetBaseContext() –

+0

पर त्रुटियां आप जानते हैं कि आप गतिविधि के उदाहरण को संदर्भ के रूप में पास कर सकते हैं? ऐसा करने की कोई ज़रूरत नहीं है .getBaseContext() यदि आप एक हैं ["यह" एक मान्य संदर्भ वस्तु होगी] – Samuh

11

हाय यदि आपके पास छवि पथ है तो आप इस कोड का उपयोग कर सकते हैं।

is = new FileInputStream(new File(imagePath)); 
bis = new BufferedInputStream(is); 
Bitmap bitmap = BitmapFactory.decodeStream(bis); 
Bitmap useThisBitmap = Bitmap.createScaledBitmap(
    bitmap, parent.getWidth(), parent.getHeight(), true); 
bitmap.recycle(); 
if(imagePath!=null){ 
    System.out.println("Hi I am try to open Bit map"); 
    wallpaperManager = WallpaperManager.getInstance(this); 
    wallpaperDrawable = wallpaperManager.getDrawable(); 
    wallpaperManager.setBitmap(useThisBitmap); 

यदि आपके पास छवि यूआरआई तो का उपयोग इस

wallpaperManager = WallpaperManager.getInstance(this); 
wallpaperDrawable = wallpaperManager.getDrawable(); 
mImageView.setImageURI(imagepath); 

मुझे पता है कि क्या कोई मुद्दा है करते हैं।

+0

इस लाइन का उपयोग क्या करता है? वॉलपेपर ड्रायबल = वॉलपेपर प्रबंधक .getDrawable(); –

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