V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jdgui  ›  全部回复第 3 页 / 共 64 页
回复总数  1265
1  2  3  4  5  6  7  8  9  10 ... 64  
2023-03-25 22:06:47 +08:00
回复了 eyeshuaji 创建的主题 Android 懂 xposed 开发的大佬来指点下
要开发一个 xposed 模块来修改单个软件的 DPI ,可以通过 hook 被 hook 的软件的 WindowManager 类来实现。WindowManager 类是 Android 系统的一个重要组件,用于管理屏幕上的窗口,包括 Activity 、Dialog 、PopupWindow 等。其中,WindowManager.LayoutParams 类的实例用于设置窗口的一些属性,包括宽度、高度、位置等,以及 DPI ( densityDpi )。

下面是一个简单的示例代码,演示了如何在 xposed 模块中 hook WindowManager 类,修改指定应用的 DPI:

java
Copy code
import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedHelpers;

public class MyAppDpiChanger implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if (!lpparam.packageName.equals("com.example.myapp")) {
return;
}

// hook WindowManager 类
XposedHelpers.findAndHookMethod(WindowManager.class, "getDefaultDisplay", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
DisplayMetrics metrics = new DisplayMetrics();
((Display) param.getResult()).getMetrics(metrics);
// 修改 DPI
metrics.densityDpi = 240;
// 设置修改后的 DisplayMetrics 对象
XposedHelpers.setObjectField(metrics, "densityDpi", metrics.densityDpi);
XposedHelpers.callMethod(param.getResult(), "getMetrics", metrics);
}
});
}
}
上述代码中,我们首先判断当前加载的应用包名是否为需要修改 DPI 的应用("com.example.myapp"),如果不是则直接返回。接着,我们使用 XposedHelpers 工具类的 findAndHookMethod() 方法来 hook WindowManager 类的 getDefaultDisplay() 方法。在这个方法的执行完成之后,我们获取到当前屏幕的 DisplayMetrics 对象,并修改其 densityDpi 属性。最后,我们使用 XposedHelpers 工具类的 setObjectField() 方法和 callMethod() 方法分别设置和应用修改后的 DisplayMetrics 对象。

需要注意的是,由于 DPI 的修改可能会导致应用的 UI 显示异常,因此修改 DPI 的操作应该谨慎进行,并在模拟器或测试设备上进行测试。
2023-03-25 22:00:49 +08:00
回复了 eyeshuaji 创建的主题 Android 懂 xposed 开发的大佬来指点下
由于涉及到特定技术和工具,我建议您在进行 xposed 模块的编写之前,先掌握以下基础知识和技能:

掌握 Java 编程语言和 Android 开发基础知识;
熟悉 Xposed 框架和 Hook 技术;
熟悉 Android DPI 相关知识。
接下来,我们来简单介绍一下如何编写一个 xposed 模块,修改某个 APP 的 DPI:

下载 Xposed Installer ,并安装到您的 Android 手机上。具体安装步骤可以在网上查找相关教程。
在 Android Studio 中创建一个新项目,并在项目中引入 Xposed SDK 。
编写 Hook 代码,通过 Hook 某个 APP 的相关方法,实现修改 DPI 的功能。例如:
XposedHelpers.findAndHookMethod("android.app.Activity", lpparam.classLoader, "onCreate", Bundle.class, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
Object activity = param.thisObject;
XposedHelpers.setIntField(activity, "mOverrideConfiguration.densityDpi", 240);
XposedHelpers.callMethod(activity, "recreate");
}
});
以上代码可以 Hook Activity 的 onCreate 方法,在该方法执行前修改 densityDpi 的值,再调用 recreate 方法使其生效。

将编写好的代码打包成 APK 文件,并通过 Xposed Installer 安装到您的 Android 手机上。
在 Xposed Installer 中启用该模块,并重启手机。
打开需要修改 DPI 的 APP ,观察效果。
需要注意的是,该方法可能会影响某些 APP 的正常使用。因此,应该在测试过程中注意观察和排除问题。
这个是 gpt 的回答
2023-03-19 15:51:25 +08:00
回复了 poyanhu 创建的主题 推广 GPT4 API 功能上线, T 楼,送 10 个 ChatGPT 账号
dHNjYXRAZm94bWFpbC5jb20=
凑热闹
2023-01-29 22:36:23 +08:00
回复了 hzjseasea 创建的主题 问与答 电瓶车 25km/h 是哪个天才想出来的东西啊
@lslqtz
单车重量比较轻,超过 25 危害也比电动自行车小
@PrinceofInj
刘德华这个我觉得属于能理解的范畴。
首先刘德华的设定就是老婆孩子都没了,这时候如果父母也不在了,其实这个人类对他而言并没有特别深的羁绊。
其次就是说,刘德华用 550c 之类的计算机不等于一定会毁灭人类。
代入一下就是,你准备偷现在国家的超级计算机用来让自己的孩子拥有完整的人生,你会知道这样会引发核战争吗
@djoiwhud
有科学顾问的,整体符合常识,有一些数据上的差距但是为了整个故事设定。不能不这么做。
不然你说美国队长哪个盾牌和灭霸都能五五开,盾牌为啥能违反物理规律呢
@murmur
虽然我觉得这么重要的系统的确不应该说被入侵就入侵,但是在那个设定里面。生活在虚拟世界的 moss ,面对人类的防火墙就是满是筛子的网吧。除非说那些系统都是物理隔离的,其他的只要是联网的都能入侵。
@HENQIGUAI
当时的背景是,某个神秘力量( moss )攻击了月球推进器的系统,让他过载直接炸了。这时候安排机器人是不可控的吧
@c0t
你理解错了,我不是说不要买机场啊。
我就是说大机场的成本并没有比小机场低多少,也没啥特殊的技术,大机场就很难垄断
@kandaakihito
这东西成本差距不大吧,软件类的东西边际成本本来就很低。可口可乐成本低的原因是他大规模采购原材料导致成本更低,同时销量够大,研发的边际成本几乎为 0
你大商家去买服务器,得买多少才能降低出显著的服务器成本。而且服务器成本在梯子中的占比并不是特别大。
比如你去谈了,服务器打五折(实际上几乎不可能),平均到每个用户身上,实际上便宜不了几块钱
又没有什么特殊的卖点,为啥会出现大商家。
你能做,我能做,这个门槛低到几乎没门槛吧。智商正常的 IT 人员,学个半天就会搭建了,接下来就只是买服务器、销售的事情了。
除非某个商家开发出一个吊打 ssr 的协议。否则我凭什么买你
2023-01-18 23:37:11 +08:00
回复了 Morii 创建的主题 分享发现 网易否决暴雪顺延六个月提案、23 日将中止国服游戏服务
@Morii
暴雪不是刚推出了电子骨灰盒吗。游戏存档其实就可以传导亚服去了吧。
先把用户存档通过注册邮箱发送给用户。然后过段时间在亚服开放一个导入窗口就行了吧
2023-01-18 23:35:09 +08:00
回复了 Morii 创建的主题 分享发现 网易否决暴雪顺延六个月提案、23 日将中止国服游戏服务
@moonkiller
前两周暴雪才来谈续约半年的事,这时候快过年了,人家都裁员了,房子都退租了,请问要怎么为了玩家提供 6 个月服务?
而且服务器不要钱?人员运维不要钱?大慈善家也不是这么当的啊。
更何况,网易最新的回应里可没有提到一句为了玩家。你道德绑架就算了,不能春秋笔法出来一个东西道德绑架啊
2023-01-09 19:24:00 +08:00
回复了 Features 创建的主题 职场话题 后知后觉,终于明白体制和国企工作的事情
有可能这人就是在装逼啦。实际上现在体制内都是逢进必考,如果能随便安排就不会有那么多领导的孩子当编外了
2023-01-03 18:34:47 +08:00
回复了 liaoliaojun 创建的主题 分享创造 游戏核酸模拟器
体制内应该没有人会怀念核酸时代。
我们这有乡镇有一个高速口,导致整个乡里面的所有干部得轮流去高速口值班,冬天吹风夏天穿大白,去拦车让人做核酸。你觉得特别会感受到快乐?天天被人骂加上 24 小时轮班加上恶劣的环境加上一穿大白就好几个小时不能上厕所。我不觉得有人会喜欢。
其他没有高速口的人人或多或少被要求去值班,去维持做核酸的秩序,去封小区。
我不认为有人会喜欢这么做
2022-12-24 18:33:18 +08:00
回复了 hhjswf 创建的主题 生活 对于奥密克戎,很多人好像有比较高的预期
两个原因,一个就是楼主说的早期筛查,还没出现症状就确诊了。另外一个原因是在第九版的时候,无症状和确诊对地方的影响区别很大,所以地方更倾向于把人认定为无症状
2022-12-24 18:28:42 +08:00
回复了 VictorFrank1 创建的主题 问与答 未做核酸的情况下允许打疫苗?
我是觉得阳了是没必要打疫苗,而不是不能打吧。毕竟有实操的机会,这个演习的机会就显得可有可无
1  2  3  4  5  6  7  8  9  10 ... 64  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3544 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 04:58 · PVG 12:58 · LAX 21:58 · JFK 00:58
Developed with CodeLauncher
♥ Do have faith in what you're doing.