2013-01-14 217 views
1

我想打開按鈕點擊設備的屏幕上,我使用的代碼是作爲如下屏幕關閉上按鈕點擊

public class MainActivity extends Activity { 

Button powerOff; 
int amountOfTime =0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

powerOff = (Button)findViewById(R.id.button1); 
powerOff.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE); 

     // Choice 1 
     manager.goToSleep(amountOfTime); 

     // Choice 2 
     PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag"); 
     wl.acquire(); 
     wl.release(); 
    } 
}); 
} 

也給出了許可

 <uses-permission android:name="android.permission.WAKE_LOCK"/> 

儘管如此它示出

01-14 16:06:00.875: E/AndroidRuntime(9317): FATAL EXCEPTION: main 
    01-14 16:06:00.875: E/AndroidRuntime(9317): java.lang.SecurityException: Neither user 10079 nor current process has android.permission.DEVICE_POWER. 
    01-14 16:06:00.875: E/AndroidRuntime(9317): at android.os.Parcel.readException(Parcel.java:1322) 
    01-14 16:06:00.875: E/AndroidRuntime(9317): at android.os.Parcel.readException(Parcel.java:1276) 
    01-14 16:06:00.875: E/AndroidRuntime(9317): at android.os.IPowerManager$Stub$Proxy.goToSleep(IPowerManager.java:341) 
    01-14 16:06:00.875: E/AndroidRuntime(9317): at android.os.PowerManager.goToSleep(PowerManager.java:464) 
+0

你怎麼解決這個問題? –

回答

2

您錯過了DEVICE_POWER權限。

編輯: 顯然,只有系統應用程序被允許使用此權限,所以你實際上卡住了。

+0

如果我嘗試在清單文件中顯示錯誤時包含此權限,那麼僅授予系統應用程序的權限 – Geethu

+0

什麼樣的錯誤? –

+0

只允許系統應用程序的權限 – Geethu

0

添加以下權限UR清單:

<uses-permission android:name="android.permission.DEVICE_POWER"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
+0

仍然是一樣的錯誤 – Geethu