2015年9月8日 星期二

shutdown

環境:4.4.2

試了些網路看到的方法,並沒有很順利。
看了這篇分享文,就可以了 :)
透過這位大大的方法,有些隱藏的api也能使用

要關機,必需要有bsp編譯後的
out/target/common/obj/JAVA_LIBRARIES/framework-base_intermediates/classes.jar

import android.os.IPowerManager;
import android.os.RemoteException;
@Override
public void onClick(View v) 
{
    IPowerManager power=IPowerManager.Stub.asInterface(ServiceManager.getService("power"));

    if(power!=null)
    {
        try {
            /**
            * 查看frameworks/base/core/java/android/os/IPowerManager.aidl
            * void shutdown(boolean confirm, boolean wait);
            * 所以,第一個是是否讓用戶確認,第二個是是否等待
            */
            power.shutdown(false,false);
        }
        catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
AndroidManifest.xml
<uses-permission android:name="android.permission.reboot" />

我是放在BSP source code裡一起編譯成apk的…
嘗試直接用android studio寫…不能用@@,會卡在權限的問題

ref : 应用开发笔记

沒有留言:

張貼留言