- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过任务任务设置 LineageOS 系统配置文件。我找到了一些 CM13 的示例,但我无法在 LineagesOS 上使用它。我不太喜欢 Java。
到目前为止我做了什么......
创建了一个 Tasker 任务“Java 函数”:proman = cyanogenmod.app.ProfileManager.getInstance{cyanogenmod.app.ProfileManager}(上下文)
第二个“Java 函数”:proman.setActiveProfile( %Newprofile )
%Newprofile 的值 = "4G"
但我的任务日志中出现以下错误:
> 11.30.17/E Java Function: ->
> 11.30.17/JU analyse: target: proman expected: null
> 11.30.17/JU target: analyse done: proman: class: cyanogenmod.app.ProfileManager obj: cyanogenmod.app.ProfileManager@1f3308e partWithoutMods: null static: false const false casted: false
> 11.30.17/JU analyse: returnval: java.lang.Void expected: null
> 11.30.17/JU returnval: analyse done: java.lang.Void: class: java.lang.Void obj: null partWithoutMods: null static: true const false casted: false
> 11.30.17/JU initClass: class: java.lang.Void obj: null partWithoutMods: java.lang.Void static: true const false casted: false
> 11.30.17/JU initClass: retnovar: init with array handling -> class java.lang.Void
> 11.30.17/JU initClass: class: cyanogenmod.app.ProfileManager obj: cyanogenmod.app.ProfileManager@1f3308e partWithoutMods: proman static: false const false casted: false
> 11.30.17/JU initclass: target: use object class: cyanogenmod.app.ProfileManager
> 11.30.17/JU analyse: param0: %Newprofile expected: class java.lang.String
> 11.30.17/Variables doreplresult: |%Newprofile| -> |4G|
> 11.30.17/JU param0: analyse done: %Newprofile: class: java.lang.String obj: 4G partWithoutMods: null static: false const true casted: false
> 11.30.17/E param 0 class: class java.lang.String
> 11.30.17/E targetClass: class cyanogenmod.app.ProfileManager
> 11.30.17/E object: cyanogenmod.app.ProfileManager@1f3308e
> 11.30.17/E method: public void cyanogenmod.app.ProfileManager.setActiveProfile(java.lang.String)
> 11.30.17/E arg0 class java.lang.String value 4G
> 11.30.17/E Java Function: java.lang.reflect.InvocationTargetException
> 11.30.17/ Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'boolean cyanogenmod.app.IProfileManager.setActiveProfileByName(java.lang.String)' on a null object reference
> 11.30.17/ cyanogenmod.app.ProfileManager.setActiveProfile(Unknown Source)
> 11.30.17/ java.lang.reflect.Method.invoke(Native Method)
> 11.30.17/ net.dinglisch.android.taskerm.ExecuteService.c(Unknown Source)
> 11.30.17/ net.dinglisch.android.taskerm.ExecuteService.a(Unknown Source)
> 11.30.17/ net.dinglisch.android.taskerm.ExecuteService.a(Unknown Source)
> 11.30.17/ net.dinglisch.android.taskerm.fd.run(Unknown Source)
> 11.30.17/E result: stop task (error)
> 11.30.17/E Error: 1
> 11.30.17/MacroEdit action finished exeID 1 action no 1 code 664 status: Err next 1
任何人都可以给 ma 一个提示来缩小我的错误范围吗?我猜对象“proman”的创建有问题。
谢谢。
编辑:类(class)来源 - https://github.com/LineageOS/cm_platform_sdk/blob/cm-14.1/sdk/src/java/cyanogenmod/app/ProfileManager.java
最佳答案
我知道这是一篇较旧的帖子,但我在做一些研究以验证 API 名称自 LineageOS 从原始 CM 源分拆以来是否发生变化时偶然发现了这篇帖子,我想提供一些我希望有用的东西信息。
使用 Tasker 在 LineageOS 上设置系统配置文件不需要宽松的 SELinux。我有一个自 CM12 或 CM13 以来仍然在 LineageOS 上运行的 Tasker 配置文件,并且我的 SELinux 状态当前为 Enforcing。
天堂操作系统,安卓 v7.1.2
附件是显示 Java 逻辑的屏幕截图,我将在下面包含任务的完整 XML。
Setting System Profile in LineageOS with Tasker
<TaskerData sr="" dvi="1" tv="5.0u2m">
<Task sr="task9">
<cdate>1420510419053</cdate>
<edate>1501266948615</edate>
<id>9</id>
<nme>Set CM Profile</nme>
<pri>100</pri>
<Action sr="act0" ve="7">
<code>547</code>
<Str sr="arg0" ve="3">%profile</Str>
<Str sr="arg1" ve="3">%par1</Str>
<Int sr="arg2" val="0"/>
<Int sr="arg3" val="0"/>
<Int sr="arg4" val="0"/>
</Action>
<Action sr="act1" ve="7">
<code>664</code>
<Str sr="arg0" ve="3">ps</Str>
<Str sr="arg1" ve="3">cyanogenmod.app.ProfileManager</Str>
<Str sr="arg2" ve="3">getService {cyanogenmod.app.IProfileManager} ()</Str>
<Str sr="arg3" ve="3">profile</Str>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
<Str sr="arg6" ve="3"/>
<Str sr="arg7" ve="3"/>
<Str sr="arg8" ve="3"/>
<Str sr="arg9" ve="3"/>
</Action>
<Action sr="act2" ve="7">
<code>664</code>
<Str sr="arg0" ve="3">%returnValue</Str>
<Str sr="arg1" ve="3">ps</Str>
<Str sr="arg2" ve="3">setActiveProfileByName {boolean} (String)</Str>
<Str sr="arg3" ve="3">%profile</Str>
<Str sr="arg4" ve="3"/>
<Str sr="arg5" ve="3"/>
<Str sr="arg6" ve="3"/>
<Str sr="arg7" ve="3"/>
<Str sr="arg8" ve="3"/>
<Str sr="arg9" ve="3"/>
</Action>
<Img sr="icn" ve="2">
<nme>hl_aaa_ext_barcode_1</nme>
</Img>
</Task>
</TaskerData>
注意:这是一个通用任务,它采用配置文件的名称并尝试将系统配置文件设置为与传入参数匹配的配置文件。这需要其他任务向该任务发送特定字符串。
上面链接的最终屏幕截图显示使用另一个任务并传递您要设置的配置文件的名称。
关于java - 天堂操作系统 : Tasker Java Function "setActiveProfile(java.lang.String)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42746368/
我想在 tasker 中创建一个执行多次点击的任务。我想要在一秒钟内进行 75 次模拟屏幕点击。我正在运行一个 shell 命令:inpet tap x y 无论我是在任务本身中对多个 Action
我正在考虑购买第二部 Android 手机,我当前的 Android 手机底部的黑色栏中有“后退”、“主页”和“最近使用的应用程序”按钮。新的则不然,因为它们都是物理按钮。 我不太喜欢物理按钮,并且希
我正在尝试开发一个列表 Activity (最初),其中填充了在 Tasker 中创建的任务。有什么办法可以从 Tasker 获取任务名称吗?我可以通过编程方式与 Tasker 通信的唯一方法是使用
我正在为 Taker Android 应用制作一个插件。该插件实质上将允许人们使用自己的设置值动态创建列表和卡片 View 。 我认为还允许使用 Tasker 变量来设置列表项等会很好。这就是我正在努
我创建了一个任务,使用 HTTP GET 从 500px 获取 JSON 结果,然后使用 Javascriptlet 代码: var arr=JSON.parse(global('HTTPD'));
当我的手机检测到我正在运行或骑自行车时,我想启动 Endomondo 跟踪。 AutoLocation 允许我使用运行、步行或骑自行车的状态来启动应用程序。然后,自动输入允许我开始跟踪。 到目前为止我
我想知道我的应用程序的 Activity 是否是从 Tasker 调用的。有没有办法确定这一点? 我尝试了以下代码。然而,没有任何代码能够获取Tasker的信息。 // [1] null was re
我正在尝试检测何时拍摄照片,作为触发器(也为摄影师拍照) Tasker 有硬件相机按钮的触发器,但我的手机 (Galaxy Nexus) 只有软件按钮。 有什么想法吗?我在想使用触发器Action -
我读了文章Build a Super Simple Tasker我喜欢这个主意。这是一个非常简单的调度程序,但他可以通过单个 stackit 实现实时和抢占式多任务处理。我喜欢这个想法,但是当我尝试为
我在 android input tap 653 100 中有这个 shell 命令,使用 Tasker 应用程序来模拟 tap 命令。这个工作正常,但我如何执行命令 50 次或 100 次?我知道我
如何使用 Tasker 将 Google Fit 中的数据读取到变量中? 更具体地说,我想阅读例如我今天的当前步数由我的手机 + 健身追踪器计算并提供给 Google Fit。我的目标是让一个变量包含
我必须使用 Tasker 下载文件,但 HTTP Get 操作的默认超时限制(120 秒)不够。如何将超时设置为零(从不)或超过 120 秒?谢谢! 最佳答案 为什么 120 秒的超时时间太短? 当建
我正在尝试通过任务任务设置 LineageOS 系统配置文件。我找到了一些 CM13 的示例,但我无法在 LineagesOS 上使用它。我不太喜欢 Java。 到目前为止我做了什么...... 创建
我创建了一个场景和 webview1 元素: 模式:网址 来源:www.google.com 创建了一个展示场景的任务 现在,我想创建一个 JavaScript 任务以发送到 Webview: $("
我有一台小米6,支持两张SIM卡。我需要弄清楚如何在工作时间以外使用 Tasker 关闭第二张 SIM (SIM2)。 我已经弄清楚如何使用 Tasker 打开 SIM2 的设置页面: Action:
如何在我作为后台服务运行的应用程序之外,通过 Java 可靠地模拟 Android 上的触摸事件(无需 root)? 虽然之前有人问过这个问题,但大多数答案都使用 ADB。(例如 How to sim
我是一名优秀的程序员,十分优秀!