我刚开始使用Android编程,并开始了我的第一个编程项目-- Xposed,这个xposed获得了一个选项,当它启用时,它将更改一个可绘制的文件,好吗?我遇到的问题是在公共handleInitPackageResources中使用“handleInitPackageResources”。
我有很多错误,我不明白为什么/如何修复它,下面是我的代码:
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 {
}
} }
};
}发布于 2015-12-06 15:44:28
不要把你的设置应用程序的活动和实际的模块混为一谈,这并不是Xposed的工作方式。您的实际模块不作为应用程序的一部分工作,您需要将它们分开,在应用程序中,将可绘制的文件保存到文件中,然后在模块中访问该文件。
要将它们分开,为实际的模块创建一个新的类。确保将资产/文件更改为新的类。
https://stackoverflow.com/questions/34117627
复制相似问题