2011-02-11 22 views
10

मैं एक एंड्रॉइड ऐप बना रहा हूं जिसके लिए एक बटन क्लिक होने पर फ़ोन रीबूट या बंद होना आवश्यक है। क्या यह संभव है? या फोन को रूट पहुंच की आवश्यकता होगी?बटन पर रीबूट करें बटन पर क्लिक करें

+1

मुझे यकीन नहीं है कि उपयोगकर्ता इस बात की सराहना करते हैं कि उनका डिवाइस अचानक रीटिंग या रोक रहा है। हम यहां एक मोबाइल फोन के बारे में बात कर रहे हैं और विंडोज पीसी नहीं। –

+0

हाँ। मोबाइल फोन .हाहा और रीबूट अचानक नहीं होगा, वे जान लेंगे कि अगर वे उस बटन को चुनते हैं तो क्या होगा। – IntelSoftApps

उत्तर

17

आप android.os.PowerManager का उपयोग करके ऐसा कर सकते हैं। समारोह reboot(String reason) उपलब्ध है, आप अनुमति की जरूरत:

android.permission.REBOOT 

आधिकारिक साइट:

http://developer.android.com/reference/android/os/PowerManager.html#reboot(java.lang.String)

बेशक

, आपको लगता है कि अनुमति केवल यदि आपका आवेदन प्रणाली हस्ताक्षर कुंजी के साथ हस्ताक्षरित है मिलने की संभावना है:

How to compile Android Application with system permissions

+5

आपको यह अनुमति नहीं दी जाएगी! – Goddchen

+0

@Goddchen - धन्यवाद, मैंने अपना जवाब अपडेट कर दिया है। – Zelimir

0

यदि आपका डिवाइस रूट डिवाइस है तो आप नीचे कोड का उपयोग कर सकते हैं।

Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot now"}); 
1

मैं नीचे दी गई विधि को फोन करके मेरे एप्लिकेशन में ऐसा किया।

नोट्स: 1. सुनिश्चित करें कि फोन रूट है 2. ऐप को रूट रूट अनुमति स्वचालित रूप से रूट अनुमति देने के लिए अनुमति दें।

void reboot() { 
     if (reboot) { 

      try { 
       Process proc = Runtime.getRuntime().exec(new String[]{"/system/bin/su", "-c", "reboot"}); 
       proc.waitFor(); 
      } catch (Exception ex) { 
       Log.e(TAG, "Error ", ex); 
      } 

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