- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开发了一个应用程序并将其转换为系统应用程序。在这个应用程序中,我想更改三个全局变量:ANIMATOR_DURATION_SCALE
、WINDOW_ANIMATION_SCALE
和 TRANSITION_ANIMATION_SCALE
。但是在我通过我的应用程序修改值后,我必须再次进入设置(这是由谷歌开发的系统应用程序)应用程序才能让修改生效,否则修改将不起作用。这是我的代码:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.SET_ANIMATION_SCALE" />
<!--system app-->
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
我在选中 Switch 时修改 MainActivity 中的值
public void changeAnimationSettings(boolean isChecked) {
int result1 = isChecked ? 0 : 1;
Settings.Global.putInt(getContentResolver(), Settings.Global.ANIMATOR_DURATION_SCALE, result1);
Settings.Global.putInt(getContentResolver(), Settings.Global.WINDOW_ANIMATION_SCALE, result1);
Settings.Global.putInt(getContentResolver(), Settings.Global.TRANSITION_ANIMATION_SCALE, result1);
Log.i(TAG, "---->>ANIMATOR_DURATION_SCALE: " + Settings.Global.getString(getContentResolver(), Settings.Global.ANIMATOR_DURATION_SCALE));
Log.i(TAG, "---->>WINDOW_ANIMATION_SCALE: " + Settings.Global.getString(getContentResolver(), Settings.Global.WINDOW_ANIMATION_SCALE));
Log.i(TAG, "---->>TRANSITION_ANIMATION_SCALE " + Settings.Global.getString(getContentResolver(), Settings.Global.TRANSITION_ANIMATION_SCALE));
}
并且日志显示代码修改值成功。
最佳答案
使用这个“设置应用魔法”(original taken from AOSP source)立即看到变化:
SystemPropPoker().execute()
同时添加这个类
class SystemPropPoker extends AsyncTask<Void, Void, Void> {
private static final String TAG = SystemPropPoker.class.getName();
@SuppressWarnings("unchecked")
@Override
protected Void doInBackground(@NonNull Void... params) {
String[] services;
try {
Class serviceManagerClass = Class.forName("android.os.ServiceManager");
Method listServicesMethod = serviceManagerClass.getMethod("listServices");
services = (String[]) listServicesMethod.invoke(null);
for (String service : services) {
Method checkServiceMethod = serviceManagerClass.getMethod("checkService", String.class);
IBinder obj = (IBinder) checkServiceMethod.invoke(null, service);
if (obj != null) {
Parcel data = Parcel.obtain();
final int SYSPROPS_TRANSACTION = ('_'<<24)|('S'<<16)|('P'<<8)|'R'; //copy from source code in android.os.IBinder.java
try {
obj.transact(SYSPROPS_TRANSACTION, data, null, 0);
} catch (Exception e) {
Log.i(TAG, "Someone wrote a bad service '" + service
+ "' that doesn't like to be poked: " + e);
}
data.recycle();
}
}
} catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException e) {
e.printStackTrace();
}
return null;
}
引用:How to easily "Show Layout bounds" for Android debugging?
关于android - Settings.Global.putInt() 不会立即生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41093981/
我开发了一个应用程序并将其转换为系统应用程序。在这个应用程序中,我想更改三个全局变量:ANIMATOR_DURATION_SCALE、WINDOW_ANIMATION_SCALE 和 TRANSITI
我阅读了很多有关 putExtra 的内容,但我的应用程序仍然无法运行(应用程序关闭)我只想将 editText 中的字符串值从 MainActivity 发送到 AnotherActivity te
我尝试这段代码: byte arr[] = ByteBuffer.allocate(2).putInt(1).array() 但它失败并显示 BufferOverflowException 。1 是否
本文整理了Java中com.yahoo.memory.WritableMemory.putInt()方法的一些代码示例,展示了WritableMemory.putInt()的具体用法。这些代码示例主要
实际上在我的项目中我想自动更改飞行模式和自动旋转设置,我也尝试了 stakcoverflow 和许多其他网站中的许多链接 我正在使用它,但在执行过程中什么也没发生。 飞行模式 public void
我知道有多个相似的问题。 Android Screen Timeout How to change screen timeout programmatically? 要求是在“从不”和原始设置之间切换
本文整理了Java中com.zx.zxutils.util.ZXSharedPrefUtil.putInt()方法的一些代码示例,展示了ZXSharedPrefUtil.putInt()的具体用法。这
我正在尝试使用 putIntent() 在 lex 中添加响应卡。在 AWS 中,putIntent 方法接受 responseCard 作为字符串,但如何添加 title、subTitle、Imag
我正在使用 SharedPreferences,但遇到问题。在我的一个类中: protected static String someValue; int myValue = 10; SharedPr
private static final long SEGSHIFT_OFFSET; SEGSHIFT_OFFSET = UNSAFE.objectFieldOffset( C
代码如下: package com.androidbook.triviaquiz; import android.app.Activity; import android.content.Shared
这个错误让我抓狂 这是传递参数的代码: Intent intent = new Intent(this, TheClass.class); Bundle bundle = new Bundle();
我正在尝试使用亚马逊的 boto3 构建一个聊天机器人图书馆。现在,我正在尝试使用 put_intent 创建一个意图。功能。我的代码如下: intent = lexClient.put_intent
我是一名优秀的程序员,十分优秀!