Xposed 和 onCheckedChanged 代码 - 编译错误
Xposed & onCheckedChanged Code - Error in Compiling
我是 Android 编程的新手,并开始了我的第一个项目作为 Xposed 模块,这个 xposed 模块有一个选项,当它被启用时它会改变一个可绘制文件,现在好吗?
我遇到的问题是在 public void handleInitPackageResources .
中使用 "onCheckedChanged"
我有很多错误,我无法理解 why/how 来修复它,这是我的代码:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.res.XModuleResources;
import de.robv.android.xposed.IXposedHookInitPackageResources;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.Switch;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public class CustomHeaderImage implements IXposedHookZygoteInit, IXposedHookInitPackageResources {
private String MODULE_PATH = null;
@Override
public void initZygote(StartupParam startupParam) throws Throwable {
MODULE_PATH = startupParam.modulePath;
}
@Override
public void handleInitPackageResources(InitPackageResourcesParam resparam) throws Throwable {
if (!resparam.packageName.equals("com.android.systemui"))
return;
///////the place of the switch
////If Enabled Do The Following :
Switch applybutton = (Switch)findViewById(R.id.switch1);
applybutton.setOnClickListener(new CompoundButton.OnCheckedChangeListener(){
public void onCheckedChanged extends AppCompatActivity(CompoundButton R.id.switch1, boolean on)
{
if (on) {
XModuleResources modRes = XModuleResources.createInstance(MODULE_PATH, resparam.res);
resparam.res.setReplacement("com.android.systemui", "drawable", "notification_header_bg", modRes.fwd(R.drawable.notification_header_bg));
} else {
}
} }
};
}
不要将设置应用程序的 activity 与实际模块混用,这不是 Xposed 的工作方式。您的实际模块不能作为应用程序的一部分工作,您需要将它们分开并在应用程序中将可绘制对象保存到文件中,然后在模块中访问该文件
要将它们分开,请为实际模块创建一个新的 class。请务必将您的 assets/xposed-init 文件更改为新的 class
我是 Android 编程的新手,并开始了我的第一个项目作为 Xposed 模块,这个 xposed 模块有一个选项,当它被启用时它会改变一个可绘制文件,现在好吗? 我遇到的问题是在 public void handleInitPackageResources .
中使用 "onCheckedChanged"我有很多错误,我无法理解 why/how 来修复它,这是我的代码:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.res.XModuleResources;
import de.robv.android.xposed.IXposedHookInitPackageResources;
import de.robv.android.xposed.IXposedHookZygoteInit;
import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.Switch;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public class CustomHeaderImage implements IXposedHookZygoteInit, IXposedHookInitPackageResources {
private String MODULE_PATH = null;
@Override
public void initZygote(StartupParam startupParam) throws Throwable {
MODULE_PATH = startupParam.modulePath;
}
@Override
public void handleInitPackageResources(InitPackageResourcesParam resparam) throws Throwable {
if (!resparam.packageName.equals("com.android.systemui"))
return;
///////the place of the switch
////If Enabled Do The Following :
Switch applybutton = (Switch)findViewById(R.id.switch1);
applybutton.setOnClickListener(new CompoundButton.OnCheckedChangeListener(){
public void onCheckedChanged extends AppCompatActivity(CompoundButton R.id.switch1, boolean on)
{
if (on) {
XModuleResources modRes = XModuleResources.createInstance(MODULE_PATH, resparam.res);
resparam.res.setReplacement("com.android.systemui", "drawable", "notification_header_bg", modRes.fwd(R.drawable.notification_header_bg));
} else {
}
} }
};
}
不要将设置应用程序的 activity 与实际模块混用,这不是 Xposed 的工作方式。您的实际模块不能作为应用程序的一部分工作,您需要将它们分开并在应用程序中将可绘制对象保存到文件中,然后在模块中访问该文件
要将它们分开,请为实际模块创建一个新的 class。请务必将您的 assets/xposed-init 文件更改为新的 class