2012-11-19 15 views
7

में सिस्टम बार छुपाएं मेरे पास एक एंड्रॉइड जेली बीन टैबलेट है जो रूट किया गया है और एक सिस्टम चलाने की कोशिश कर रहा है जिसमें सिस्टम बार को छिपाने के लिए कोड है लेकिन यह छुपा नहीं जा रहा है कोई भी मेरी मदद कर सकता है इस पर।जेली बीन टैबलेट (रूटेड)

टर्मिनल में हो रही है उत्पादन: Result Parcel(00000000 '....')

public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Button hide=(Button)findViewById(R.id.button1); 
     Button show=(Button)findViewById(R.id.button2); 
     hide.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.v("ds", "hideSystembar"); 
        try { 
         Process proc = Runtime.getRuntime().exec(new String[]{ 
           "su","-c","service call activity 79 s16 com.android.systemui"}); 
         proc.waitFor(); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
      } 
     }); 
     show.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
        Log.v("f", "showSystembar"); 
        try { 
         Process proc = Runtime.getRuntime().exec(new String[]{ 
           "am","startservice","-n","com.android.systemui/.SystemUIService"}); 
         proc.waitFor(); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
      } 
     }); 
    } 
} 

हालांकि मैं अनुमति के टोस्ट दी हो रही है: enter image description here

सुपर उपयोगकर्ता के लिए लॉग स्क्रीन शॉट: enter image description here

उत्तर

21

SystemUI वर्ग के लिए प्रक्रिया आईडी आईसीएस पेश किए जाने पर 79 से 42 तक बदल गया।
नीचे दिया गया कोड एंड्रॉइड के किसी भी संस्करण के लिए काम करता है कि आपका ऐप चालू हो रहा है।

//HIDE TOOLBAR 
try{ 
    //REQUIRES ROOT 
    Build.VERSION_CODES vc = new Build.VERSION_CODES(); 
    Build.VERSION vr = new Build.VERSION(); 
    String ProcID = "79"; //HONEYCOMB AND OLDER 

    //v.RELEASE //4.0.3 
    if(vr.SDK_INT >= vc.ICE_CREAM_SANDWICH){ 
     ProcID = "42"; //ICS AND NEWER 
    } 

    //REQUIRES ROOT 
    Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity "+ ProcID +" s16 com.android.systemui"}); //WAS 79 
    proc.waitFor(); 

}catch(Exception ex){ 
    Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show(); 
} 
+0

धन्यवाद एक बहुत सर यह मेरे लिए काम किया .. !! प्रक्रिया के रूप में निरंतर मुख्य मुद्दा था .. !! –

+1

हे। सावधान रहें कि मैंने एक ऐसे डिवाइस का परीक्षण किया है जो इस तरह से नीचे की छिपी छिपाने से लॉन्चर वॉलपेपर पूरी तरह से काला हो जाएगा! (भलाई का शुक्र है, लाइव वॉलपेपर प्रभावित नहीं है।) इसलिए, बार छुपाए जाने से पहले [HideBar] (http://ppareit.github.com/HideBar/) स्रोत का अध्ययन करके, हमें 'वॉलपेपर प्रबंधक' से वॉलपेपर 'ड्रायबल' प्राप्त करना चाहिए '। बार छिपाने के बाद और कुछ देरी (आवश्यक?) की प्रतीक्षा करने के बाद, हमें 'wallpaperManager.setBitmap (बिटमैप)' का उपयोग कर वॉलपेपर 'ड्रायबल' वॉलपेपर से वॉलपेपर 'बिटमैप' वापस सेट करने की आवश्यकता है। अनुमति को सेट करना भी याद रखें'android.permission.SET_WALLPAPER) ' – Yeung

+0

ProcId (स्थिर आयात के साथ) करने का एक आसान तरीका: आयात स्थिर android.os.build.VERSION.SDK_INT; आयात स्थिर android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH; // कोड स्ट्रिंग ProcID = (SDK_INT> = ICE_CREAM_SANDWICH) में? "42": "79"; – pablisco

2

मैं एक लेख में बताया गया है कि एंड्रॉयड 4,2

http://masashi-k.blogspot.com/2013/09/hide-show-system-bar-of-android.html

प्राप्त जड़ RootTools लाइब्रेरी का उपयोग की अनुमति पर रूट अनुमति प्राप्त करने, और छिपाने/दिखाने प्रणाली बार लिखा था। enter image description here

प्रणाली बार छिपाएं enter image description here

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