相关疑难解决方法(0)

果冻豆的飞机模式

我试图在Android 4.2.2的Nexus 4中设置飞机模式.我知道这是不可能的,因为AIRPLANE_MODE_ON已移至全局系统设置,它只是一个读取选项.

有没有其他方法可以做类似的事情,我的意思是禁用收音机?我可以禁用蓝牙,wifi和互联网连接,但电话呼叫网络仍然有效.

是否可以使用NDK创建一个库以完全禁用网络?

编辑:我试过java.lang.reflect这个方法:

@SuppressLint("NewApi")
@SuppressWarnings("rawtypes")
private boolean putStringAirplaneMode() throws ClassNotFoundException,
        NoSuchMethodException, IllegalArgumentException,
        IllegalAccessException, InvocationTargetException {

    ContentResolver resolver = context.getContentResolver();
    String name = Settings.Global.AIRPLANE_MODE_ON;
    String value = (isEnabled() ? "1" : "0");
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Log.v("AirplaneBatterySaver",
                "Using reflection to change airplane mode");
        // For JELLY_BEAN_MR1 use reflection. TODO test if works reflection
        Class SystemProperties = android.provider.Settings.Global.class;

        Class[] parameterTypes = new Class[3];
        parameterTypes[0] = ContentResolver.class;
        parameterTypes[1] = String.class;
        parameterTypes[2] = …
Run Code Online (Sandbox Code Playgroud)

reflection android android-ndk android-4.2-jelly-bean

8
推荐指数
1
解决办法
3453
查看次数

ES6 Reflect API的优点

我一直在努力升级一些代码以使用ES6语法.我有以下代码行:

delete this._foo;

我的linter提出了使用建议:

Reflect.deleteProperty(this, '_foo');

您可以在此处找到此方法的文档.

MDN文档指出:

Reflect.deleteProperty方法允许您删除对象上的属性.它返回一个布尔值,指示属性是否已成功删除.它几乎与非严格删除运算符相同.

我知道delete关键字不会返回一个表示成功的值,但它的冗长要少得多.

如果我不依赖成功/失败delete是否有任何理由支持Reflect.deleteProperty?这delete是非严格意味着什么?

我觉得ReflectAPI 的很多用例都是用于解决异常情况和/或提供更好的条件流,但代价是更冗长的陈述.我想知道如果Reflect我没有遇到我当前使用的任何问题,使用API 是否有任何好处.

javascript ecmascript-6

7
推荐指数
1
解决办法
1869
查看次数

为什么我不能在编译期间获得枚举数?

我问过如何将枚举数量作为常量?,我发现在编译期间我无法获得枚举数,因为C#使用反射来实现.

我读了什么是反射,为什么它有用?所以我对反思有一个非常基本的理解.

为了得到枚举的数量,我可以使用Enum.GetNames(typeof(Item.Type)).Length;,这在运行时使用反射发生.

我没有看到获取枚举计数所需的任何运行时知识,因为据我所知,在运行时期间无法更改枚举的数量.

为什么C#必须使用反射来获取枚举数?为什么不能在编译期间这样做?

c# reflection enums count compile-time

7
推荐指数
2
解决办法
844
查看次数

使用实时示例在java中反射和后期绑定之间的区别

在学习Java教程时,Reflection和Late Binding让我很困惑.在一些教程中,他们写过它们都是相同的,并且Reflection和Late Binding之间没有任何区别.但其他教程表示存在差异.

我很困惑,所以有人可以解释一下Java中的Reflection和Late Binding是什么,如果可行的话,请给我一些真实世界的例子.

谢谢..

java reflection late-binding

6
推荐指数
1
解决办法
3460
查看次数

使用Core JAVA编程 - Reflection API

可能重复:
什么是反射,为什么它有用?

Java中反射的确切用法是什么?任何人都能举例说明吗?如果有任何相关概念,请分享.

java reflection

6
推荐指数
1
解决办法
3977
查看次数

java如何从内部内部类实现对封闭类的访问?

我在内部类中创建了一个内部类:

public class EnclosingClass {

    public class InnerClass {
        private EnclosingClass getEnclosing() {
            return EnclosingClass.this;
        }

        public class InnerInnerClass {
            private InnerClass getEnclosing() {
                return InnerClass.this;
            }

            private EnclosingClass getEnclosingOfEnclosing() {
                return EnclosingClass.this;
            }
        }        
    }
}
Run Code Online (Sandbox Code Playgroud)

我很惊讶java允许InnerInnerClass直接访问EnclosingClass.这个代码是如何在Java内部实现的?

InnerInnerClass保持两个指针(一个在InnerClass和其他的EnclosingClass)或InnerInnerClass访问EnclosingClassInnerClass

java

6
推荐指数
1
解决办法
207
查看次数

命令模式与反射

我有控制器根据命令名执行一些命令,取自url.重点是不使用if和switch子句.据我所知,只有两种方法可以做到 - 1)命令模式2)反射.

//Command pattern
class Controller{
  private HashMap<String,Command> commands;
  public void executeCommand(String commandName){
    commands.get(commandName).execute();
  }
  ...
}

//reflection
class Controller{
  public void readCommand(){
    ....
  }
  public void executeCommand(String commandName){
    this.getClass().getMethod(commandName+"Command").invoke(this);
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

所以问题:

  1. 哪一个更好?
  2. 在一个应用程序中让开发人员使用他们想要的方法之一是否正常.
  3. 还有其他方法吗?

java reflection design-patterns command-pattern

6
推荐指数
1
解决办法
1007
查看次数

如何获得微信授权令牌?

目标:获取我需要发送到应用服务器的令牌

问题:注册返回true,请求完成返回true,但onReqonResp没有被调用.这是代码:

public class WeChatActivity extends Activity implements IWXAPIEventHandler {

    private static final String APP_ID = ;
    private IWXAPI api;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signin);

        api = WXAPIFactory.createWXAPI(this, APP_ID, true);
        api.handleIntent(getIntent(), this);

        regToWx();
        getAuthToken();
    }

    private void regToWx() {

        api.handleIntent(getIntent(), this);
        boolean registered = api.registerApp(APP_ID);

        L.e(this, "registered: " + registered);

    }

    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);

        setIntent(intent);
        api.handleIntent(intent, this);
    }

    public void getAuthToken() {
        SendAuth.Req req = new SendAuth.Req();
        req.scope = …
Run Code Online (Sandbox Code Playgroud)

android wechat

6
推荐指数
1
解决办法
2990
查看次数

检查数组中的元素是否是Java中的SubClass

让我们假设我想检查Object数组中的值是否属于超类或子类,例如我的超类叫Called Animal,我声明了一个类型为Animal的数组

Animal myAnimals[] = new Animal[];
Run Code Online (Sandbox Code Playgroud)

现在假设有像Lion,Tiger,Elephant等动物的子类.如果我要遍历数组,我如何区分子类(Lion,Tiger等)和超类Animal?谢谢!

java arrays object

6
推荐指数
1
解决办法
1313
查看次数

如何为我的跨平台Jar调用特定于OS X的方法?

我有一个编译的可执行JAR文件在Windows平台上失败.

原因是我想要正确地集成某些特定于OS X的属性 - 例如" 关于"窗口.

即使我特意使用条件封锁了代码,JAR仍然NoClassDefFoundError在第一行执行时崩溃.

if (isOSX()) {
    com.apple.eawt.Application application = com.apple.eawt.Application.getApplication();
    application.setAboutHandler(new com.apple.eawt.AboutHandler() {
        @Override
        public void handleAbout(com.apple.eawt.AppEvent.AboutEvent ae) {
            new AboutWindow();
        }
    });
    application.setDefaultMenuBar(MenuSystem.createMenu());
}
Run Code Online (Sandbox Code Playgroud)

是否可以在我的JAR文件中包含此代码,以便我可以拥有一个一致的代码库?

java windows macos cross-platform

5
推荐指数
2
解决办法
1438
查看次数