相关疑难解决方法(0)

Java反射:我如何获得java类的所有getter方法并调用它们

我写了一个有很多getter的java类..现在我想获取所有getter方法并在某个时候调用它们.我知道有一些方法,比如getMethods()或getMethod(String name,Class ... parameterTypes),但是我只是想得到吸气剂...,使用正则表达式?谁能告诉我?谢谢!

java reflection

70
推荐指数
4
解决办法
8万
查看次数

以编程方式在android中启用/禁用数据连接

我想以编程方式启用/禁用数据连接.我使用了以下代码:

void enableInternet(boolean yes)
{
    ConnectivityManager iMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    Method iMthd = null;
    try {
        iMthd = ConnectivityManager.class.getDeclaredMethod("setMobileDataEnabled", boolean.class);
        } catch (Exception e) {
               } 
    iMthd.setAccessible(false);

    if(yes)
     {

                try {
                    iMthd.invoke(iMgr, true);
                    Toast.makeText(getApplicationContext(), "Data connection Enabled", Toast.LENGTH_SHORT).show();
                } catch (IllegalArgumentException e) {
                    // TODO Auto-generated catch block
                     dataButton.setChecked(false);
                     Toast.makeText(getApplicationContext(), "IllegalArgumentException", Toast.LENGTH_SHORT).show();

                } catch (IllegalAccessException e) {
                    // TODO Auto-generated catch block
                    Toast.makeText(getApplicationContext(), "IllegalAccessException", Toast.LENGTH_SHORT).show();

                    e.printStackTrace();
                } catch (InvocationTargetException e) {
                    // TODO Auto-generated catch block
                     dataButton.setChecked(false);
                     Toast.makeText(getApplicationContext(), "InvocationTargetException", Toast.LENGTH_SHORT).show();

                } …
Run Code Online (Sandbox Code Playgroud)

android gprs invocationtargetexception

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

在应用程序中使用多个网络接口

我写了一个应用程序,通过wifi触发Sony qx智能手机可连接相机.但是,我需要通过另一个本地网络实时传输图像.由于wifi卡用于qx连接,我需要能够在usb上使用以太网从手机上传输图像.Http请求将用于触发摄像头并从手机发送图像.

是否可以在具有两个网络接口设置的手机上的一个Android应用程序中指定某些http请求使用一个网络接口而其他人使用另一个网络接口?这是否需要通过路由表来完成,而不是java?

我正在使用的手机是一个有根的nexus 6p.

更新:

目前,我能够使用以太网适配器(Nexus 6P).设备通过以太网连接到本地网络.当Wi-Fi接口关闭时,我可以ping设备通过以太网连接的本地网络上的所有设备.但是,我无法访问该网络上任何设备(我知道它们正在运行)的Web服务器(不使用DNS),即通过浏览器应用程序进行Http.nexus 6p通过Ubiquiti Station通过以太网连接到网络.这似乎是一个路由问题.

我可以在一个应用程序中连接(usb接口)并使用Wi-Fi,这使我相信可以使用以太网和Wi-Fi.

Update2:

经过更多测试后,似乎是权限问题.因为当我ping网络时,设备连接到以太网而没有先su在终端中运行,因此网络不存在.但是,当我运行su然后ping,我可以ping网络.因此,在访问以太网之前,我的应用似乎需要获得超级用户权限.我已经授予它超级用户访问权限,但没有任何改变.我读到su这篇文章中的一篇评论只是简单地运行.这是因为su只会产生一个死亡的root shell.这也解释了为什么我无法通过浏览器应用程序访问此网络上的任何Web服务器.是否有可能在进行HTTP调用时授予我的应用程序访问以太网接口HttpURLConnection,如果有任何意义(运行su不起作用)?似乎肯定有一个解决方案,因为HttpURLConnection可以通过USB网络共享接口(Nexus 6P称它rndis0)进行调用.

更新3:

我在网上找到,我可以让我的应用程序成为一个系统应用程序(认为这可能会授予应用程序eth0访问权限).我只是将我的应用程序移动到/system/app然后重新启动.但是,这似乎不再给予应用程序特权(因此无法解决问题),或者制作应用程序系统还需要其他东西,而不仅仅是复制它/system/app.

更新4:

所以我能够在没有root权限的情况下让每个应用程序都能运行以太网!它似乎只适用于DHCP,并且不喜欢我正在使用的静态连接.它适用于启用Wi-Fi,但是,当启用以太网时,我无法联系Wi-Fi网络上的任何设备.有没有解决的办法?是否与设置两个默认网关有关?

android network-programming

13
推荐指数
1
解决办法
4768
查看次数

StandBy喜欢活动

我想为我的设备创建一个StandBy活动,到目前为止,我创建了一个活动,在调用时将关闭我的显示.

代码如下:

public class MainActivity extends Activity {
private SensorManager mSensorManager;
private PowerManager mPowerManager;
private WindowManager mWindowManager;
private WakeLock mWakeLock;
private Button button;
private TextView textView;

/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    try {
        // Get an instance of the SensorManager
        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

        // Get an instance of the PowerManager
        mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);

        // Get an instance of the WindowManager
        mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        mWindowManager.getDefaultDisplay();

        setContentView(R.layout.activity_main); …
Run Code Online (Sandbox Code Playgroud)

android ethernet wakelock screen-off

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

Android - 以太网 - 以编程方式

我正在开发一个Android应用程序,将由自定义设备使用,它将具有以太网支持(以及WiFi).

该应用必须启用以太网的设置活动.

请注意,此设置必须由应用程序运行,而不是由android设置运行,因为应用程序将是设备上运行的唯一内容,用户将无法访问后台运行的android.

用户必须能够:1.启用/禁用以太网2.选择DHCP或STATIC 3.如果选择STATIC - 设置IP,网关

问题是我无法以编程方式访问android.net.ethernet,并且没有关于此问题的在线解释.

所以如果有人做过这样的事情,请帮助我走向正确的方向.

谢谢.

settings static android ethernet dhcp

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

有没有办法在 Android 应用程序中访问 android.net.EthernetManager?

有没有办法在 Android 应用程序中访问android.net.EthernetManager?Class.forName("android.net.ethernet.EthernetManager") 和 Class.forName("android.net.EthernetManager") 都会生成 ClassNotFoundException。

android ethernet

2
推荐指数
1
解决办法
7237
查看次数