2013-03-03 4 views
6

मुझे setWallpaper(bmp) वाली रेखा पर बहिष्करण त्रुटि क्यों मिलती है, और मैं इसे कैसे हल कर सकता हूं?किसी विधि को बहिष्कृत करने के लिए इसका क्या अर्थ है, और मैं परिणामी त्रुटियों को कैसे हल कर सकता हूं?

Error: The method setWallpaper(Bitmap) from the type Context is deprecated

switch(v.getId()){ 
case R.id.bSetWallpaper: 
try { 
      getApplicationContext().setWallpaper(bmp); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     break; 
+0

मुझे लगता है कि आपने अपने प्रश्न में गलती की है। क्या आप कृपया हमारे लिए त्रुटि को स्पष्ट कर सकते हैं? – christopher

+0

हाँ क्षमा करें मैंने पोस्ट संपादित किया है, इसे दुर्घटना से चूक गया है। – TAM

+6

"बहिष्कृत" का अर्थ है कि आपको इसका उपयोग नहीं करना चाहिए। –

उत्तर

11

जब कुछ बहिष्कृत किया जाता है, तो इसका मतलब है कि डेवलपर्स ने इसे करने का एक बेहतर तरीका बनाया है और आपको अब पुराने, या बहिष्कृत तरीके का उपयोग नहीं करना चाहिए। जो चीजें बहिष्कृत हैं वे भविष्य में हटाने के अधीन हैं।

आपके मामले में, यदि आप एक छवि पथ इस प्रकार है है वॉलपेपर सेट करने का सही तरीका:

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

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); 

आप एक छवि यूआरआई है, तो निम्न का उपयोग

मैडुल के जवाब से this प्रश्न।

+0

धन्यवाद जब मैं कोड पर वापस आऊंगा तो मैं इसे आजमाने की कोशिश करूंगा। – TAM

5

"पदावनत" का अर्थ है उस विशेष कोड का उपयोग कर रहे नहीं रह गया है कि कार्यक्षमता को प्राप्त करने की विधि अनुशंसित है। आपको अपनी दी गई विधि के लिए प्रलेखन को देखना चाहिए, और यह संभवतः इसके स्थान पर अनुशंसित विधि का लिंक प्रदान करेगा।

1

आपको Context.setWallpaper() के बजाय WallpaperManager.setStream() का उपयोग करना चाहिए क्योंकि इसे बहिष्कृत किया गया है और इसे नई एपीआई रिलीज़ में हटाया जा सकता है।

3
WallpaperManager myWallpaperManager=WallpaperManager.getInstance(getApplicationContext()); 

try { 
    myWallpaperManager.setBitmap(bmp); 
} 
catch (IOException e) { 
    Toast.makeText(YourActivity.this, 
        "Ooops, couldn't set the wallpaper", 
        Toast.LENGTH_LONG).show(); 
} 
संबंधित मुद्दे

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