Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用安卓&x27;在系统应用程序上使用反射关闭线程_Java_Android_Reflection_Shutdown_Android 4.1 Jelly Bean - Fatal编程技术网

Java 使用安卓&x27;在系统应用程序上使用反射关闭线程

Java 使用安卓&x27;在系统应用程序上使用反射关闭线程,java,android,reflection,shutdown,android-4.1-jelly-bean,Java,Android,Reflection,Shutdown,Android 4.1 Jelly Bean,我在系统分区上安装了一个应用程序(未使用系统的签名密钥签名),希望使用ShutdownThread的ShutdownThread方法。我正在做以下工作: try { Class<?> ShutdownThread = Class.forName("com.android.server.pm.ShutdownThread"); Method shutdown = ShutdownThread.getMethod("shutdown", Context.class, bo

我在系统分区上安装了一个应用程序(未使用系统的签名密钥签名),希望使用
ShutdownThread
ShutdownThread
方法。我正在做以下工作:

try {
    Class<?> ShutdownThread = Class.forName("com.android.server.pm.ShutdownThread");
    Method shutdown = ShutdownThread.getMethod("shutdown", Context.class, boolean.class);
    Log.v(getString(R.string.app_name), "PowerService: apagando");
    shutdown.invoke(ShutdownThread, getApplicationContext(), false);
} catch (Exception e) {
    e.printStackTrace();
}
Log.v(getString(R.string.app_name), "PowerService: deteniendo");
日志以代码中的两个logcats注释开始和结束

接下来是我的清单权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />

我还添加了
以消除
权限失败
消息,但没有任何区别


有人知道这个错误是什么意思吗?我怎样才能解决它?我知道它与处理QMG文件的库有关(该应用程序设计用于三星平板电脑),但除此之外,我什么都不知道。

错误
java.lang.unsatifiedlinkerror:Native-method-not-found:com.android.server.pm.LibQmg.qmgOpen:(Ljava/lang/String;)我
的意思是在某个时刻,调用了本机库函数,但找不到该函数。不幸的是,我不知道你如何解决它。这是您在尝试通过反射访问功能时面临的问题。您的代码在非三星设备上工作吗?@pgmann我不知道。我没有尝试过,因为我没有非三星设备。@Knossos您有没有其他方法可以使用
ShutdownThread
类?不是马上,我在为定制设备开发时已经研究过其他方法。也许他们可以帮助你:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />