我有一个使用DevicePolicyManager方法的设备管理应用程序.在一个特定的触发器上,我调用了带有flag = 0的wipeData方法(它的2.2 HTC令人难以置信).设备重新启动并擦除所有设备数据(非SD卡)以及任何已配置的Google帐户(在"设置" - >"帐户和同步"下列出).但是,我很惊讶地发现我仍然能够从电子邮件应用程序接收/发送我公司的电子邮件.我不得不手动转到电子邮件应用程序点击设置并删除我的帐户.任何想法,如果有任何错误.我虽然能够wipeData是企业的安全措施之一.如果仍然可以在远程擦除后访问企业电子邮件,那么它就变得毫无意义!我绝对惊呆了.只是为了确定,在发布之前,我重新运行了整个过程.配置了我的Exchange ActiveSync帐户,安装了我的设备管理应用程序并触发了wipeData功能.在重新启动和"数据擦除"时,我发现配置的帐户没有显示在帐户和同步中,但在电子邮件应用程序中它仍然配置,我能够发送接收消息.
再次,这发生在我的HTC Droid Incredible(Verizon)上.我还没有在任何其他设备上测试它.如果我接受测试更改,我会更新.
编辑: 我在Droid Pro以及HTC Evo上进行了测试.两者都被彻底擦干净了.所以看来这个问题是HTC Incredible特有的.我所拥有的是运行Android 2.2和HTC内核版本:2.6.32.15-g5e1ad8b htc-kernel @ and18-2#1
Android系统有一个名为"Unknown Sources"的标志,允许它从非市场来源安装应用程序.
如果我按照Android开发者网站上的描述签署我的应用程序(即使用我从谷歌获得的私钥创建的证书),并决定不在Android市场上发布我的应用程序,而是在我自己的网站上托管它.
这个应用程序会被android系统视为非市场吗?它是否仍会在关闭"未知来源"选项的情况下安装?
我在我的应用程序中使用处理程序,在一个屏幕中通过单击按钮将调用一组代码.要调用该组代码,我将消息发送到处理程序并覆盖句柄消息方法.第一次单击按钮时,处理程序完美运行并执行代码集.当我第二次点击该按钮时,我得到以下异常.
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): FATAL EXCEPTION: main
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): android.util.AndroidRuntimeException: { what=1 when=7381217 obj=android.app.AlertDialog@462b5c58 } This message is already in use.
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.MessageQueue.enqueueMessage(MessageQueue.java:171)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageAtTime(Handler.java:457)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessageDelayed(Handler.java:430)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.sendMessage(Handler.java:367)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.mysnob.utils.MessageDialog$8.onClick(MessageDialog.java:93)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:158)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Handler.dispatchMessage(Handler.java:99)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.os.Looper.loop(Looper.java:144)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at android.app.ActivityThread.main(ActivityThread.java:4937)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invokeNative(Native Method)
05-03 09:45:25.703: ERROR/AndroidRuntime(1971): at java.lang.reflect.Method.invoke(Method.java:521)
05-03 09:45:25.703: …Run Code Online (Sandbox Code Playgroud) 我获取一些html并进行一些字符串操作,并使用类似的字符串
string sample = "\n \n 2 \n \n \ndl. \n \n \n flour\n\n \n 4 \n \n cups of \n\nsugar\n"
Run Code Online (Sandbox Code Playgroud)
我想找到所有成分线并删除空格和换行符
2 dl.面粉和4杯糖
到目前为止,我的方法如下.
Pattern p = Pattern.compile("[\\d]+[\\s\\w\\.]+");
Matcher m = p.matcher(Result);
while(m.find()) {
// This is where i need help to remove those pesky whitespaces
}
Run Code Online (Sandbox Code Playgroud) Google建议并使用ProGuard打包进行代码混淆.但是,它附带的默认配置似乎很小,可以在一定程度上进行逆向工程.大多数希望进行逆向工程的人并不是在寻找细节代码,但可能会提取逻辑.是否有任何指导方针可以更有效地配置ProGuard?(Javascript最小化的程度会很好.)
其次,有像apktool这样的工具可以提取Manifest以及资源文件.并且它们没有任何混淆程度.这些当然可以揭示一些事情.有没有办法避免这种情况发生?
obfuscation android decompiling resource-files android-manifest
我正在使用timeline.html创建一个包作为我的封面页,并使用timeline.htmlPages属性提供其他子页面.我希望封面和每个子页面都有不同的菜单项.目前我没有看到任何方法为每个htmlPage和/或封面页面都有一个menuItem.我错过了什么吗?
我在Glass Foundry期间为此做了一些工作:我创建了一个随机的bundle id,然后我循环遍历所有的html页面并使用相同的bundle id插入一个时间轴项目,使用相同的封面页和一个单独的htmlPages无论我想要哪个menuItem用于该索引.这可以按照我想要的方式工作,但是因为这会导致N次插入()调用,所以玻璃接收包需要花费很多时间[也作为副作用吃掉我的api配额]
我有一个更新某个表的SQL文件.但是,表名取决于安装软件的计算机名称.(像:TableFooBar-MyMachine).我必须编写一个调用Oracle SQL脚本的批处理文件,该脚本将更新此表.
那么,BatchFile - >更新.Sql - > TableFooBar-MyMachine
更新.Sql会有如下声明:
Update TableFooBar-<Machine-Name> where fooid = -99;
Run Code Online (Sandbox Code Playgroud)
此批处理文件需要在许多计算机上运行.这些表实际上有很多更新语句.我不希望别人编辑sql文件.相反,如果我在批处理文件中设置机器名并将其传递给sql,我已经完成了!如何将机器名称参数传递给.sql文件来实现此目的?
android ×4
batch-file ×1
decompiling ×1
exception ×1
google-glass ×1
google-play ×1
handler ×1
java ×1
mdm ×1
obfuscation ×1
oracle ×1
publishing ×1
regex ×1
security ×1
signing ×1
sql ×1
string ×1