小编Nat*_*ann的帖子

如何查看Android上是否连接了Wi-Fi?

除非他们连接了Wi-Fi,否则我不希望我的用户甚至尝试下载某些内容.但是,我似乎只能判断是否启用了Wi-Fi,但他们仍然可以拥有3G连接.

android.net.wifi.WifiManager m = (WifiManager) getSystemService(WIFI_SERVICE);
android.net.wifi.SupplicantState s = m.getConnectionInfo().getSupplicantState();
NetworkInfo.DetailedState state = WifiInfo.getDetailedStateOf(s);
if (state != NetworkInfo.DetailedState.CONNECTED) {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

然而,国家不是我所期望的.即使连接了Wi-Fi,我也会OBTAINING_IPADDR成为状态.

android wifimanager android-wifi

234
推荐指数
7
解决办法
21万
查看次数

确定性是什么意思?

我正在阅读Java Hashmap文档,但我不明白这句话.

请注意,HashMap的迭代顺序是非确定性的.如果您想要确定性迭代,请使用LinkedHashMap.

确定性是什么意思?

java deterministic

34
推荐指数
5
解决办法
7697
查看次数

用兼容包android充气片段

我试图给包含Fragment使用向后兼容包的布局充气.我把jar文件放在我项目的libs文件夹中.我扩展了Fragment,然后尝试通过将Activity的contentView设置为来扩充它

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
 <fragment
  class="com.test.fragments.AdFragment"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"/></LinearLayout>
Run Code Online (Sandbox Code Playgroud)

但是当我设置内容视图时,它会ClassNotFoundException因为片段标记而失败.这是logcat输出.

java.lang.RuntimeException: Unable to start activity ComponentInfo{}: \
      android.view.InflateException: Binary XML file line #51: \
      Error inflating class fragment
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1793)
   at android.app.ActivityThread.access$1500(ActivityThread.java:123)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:123)
   at android.app.ActivityThread.main(ActivityThread.java:3848)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:507)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
   at dalvik.system.NativeStart.main(Native Method)

 Caused by: android.view.InflateException: Binary XML file line #51: \
      Error inflating class fragment
   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
   at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
   at android.view.LayoutInflater.inflate(LayoutInflater.java:320) …
Run Code Online (Sandbox Code Playgroud)

android backwards-compatibility android-inflate android-fragments

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

Android MediaPlayer错误代码?

我正在努力获得一个直播的无线电流来处理android.我正在使用MediaPlayer该类,只是设置URL并播放它.它在大多数情况下效果很好,但在5-30分钟后它不可避免地会死亡.在2.1手机(更具体地说是英雄)上我得到了这个日志输出

W/MediaPlayer( 7919): info/warning (1, 26)
I/MediaPlayer( 7919): Info (1,26)
I/MediaStreamService( 7919): mPlayer info code:1  extra:26
E/MediaPlayer( 7919): error (1, -11)
E/MediaPlayer( 7919): Error (1,-11)
Run Code Online (Sandbox Code Playgroud)

MediaStreamService包含MediaPlayer输出的我的服务来自哪里OnInfoListener

在2.2手机上我没有得到OnInfoListener回调,流就死了.但我确实在logcat中看到了这一点

E/HTTPStream( 1020): recv failed, errno = 11 (Try again)
E/HTTPDataSource( 1020): retrying connection failed
Run Code Online (Sandbox Code Playgroud)

似乎在我的1.6手机上完美无瑕地工作,尽管垃圾邮件一直是垃圾邮件

E/PlayerDriver( 82): Invalid percentage value <big growing number>
Run Code Online (Sandbox Code Playgroud)

我的问题是,错误代码(1,26)是什么意思?是什么导致我的mediaPlayer崩溃?2.1问题是否与2.2问题有关?谢谢,内森

编辑:我正在寻找源代码OnInfoListener ,发现public static final int MEDIA_INFO_UNKNOWN = 1; 我不确定它究竟是什么意思,也无法找到这些额外内容的保存位置.任何关于媒体信息未知的含义的见解?或者这26代表什么将非常感激.

android media-player

19
推荐指数
1
解决办法
4万
查看次数

在正则表达式中使字符可选

我正在尝试验证其中没有多余字符的(美国)电话号码.因此格式为1-555-555-5555,没有短划线,空格等,1是可选的.但是,我的正则表达式只有前导1的数字和没有它的数字都是无效的.以下是我在使用哪里出错了?

"^(1)\\d{10}$"
Run Code Online (Sandbox Code Playgroud)

java regex

19
推荐指数
2
解决办法
3万
查看次数

优雅的方式来获得过滤器的索引或首先使用RX Java

我只是在练习RX Java,并希望在数组中找到与过滤器匹配的项目.我看不出任何明显的方法.我正在寻找可能压缩范围和迭代可观察的东西,但它很快变得比循环更冗长和复杂.

java filter rx-java

10
推荐指数
1
解决办法
6967
查看次数

在片段android中查看重用

我试图在我的片段中保存我的视图状态,但我担心我会泄漏我的活动.这是我在做的事情:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state){
   if(mView != null){
      View oldParent = mView.getParent();
      if(oldParent != container){
         ((ViewGroup)oldParent).removeView(mView);
      }
      return mView;
   }
   else{
      mView = inflater.inflate(R.id.fragview, null)
      return mView;
   }
}
Run Code Online (Sandbox Code Playgroud)

我很担心,因为我知道所有的视图都保留在上下文中,如果从inflater中膨胀,我不知道它是否是Activity上下文或Application上下文.也许最好的做法是使用getActivity().getApplication()而不是使用inflater来实际创建视图并设置其属性.我将不胜感激任何反馈.

谢谢!

编辑:确认活动泄漏,虽然这段代码工作得很好不要这样做:*(

android memory-leaks android-fragments android-support-library

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

如何更改AlertDialog中列表项的文本颜色

您好我正在尝试更改ListPreference弹出窗口中列表中项目的文本颜色.我花了一个多小时查看所有各种样式名称,但我无法找到TextAppearance或找到任何与此特定文本相关的内容.谢谢你的帮助!

android themes coding-style listpreference android-alertdialog

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

为什么在使用WebView的Fragment中不会显示软键盘

我正在使用兼容包,我有一个FragmentWebView在onCreateView中返回一个.问题是如果在onCreate期间没有添加片段,Activity那么在WebView软键盘内部单击文本框时不会显示.如果在添加自定义Web片段后旋转设备,则重新创建活动,然后在单击文本字段时显示软键盘.

只是要清楚以下是两种不同的场景

public void onCreate(Bundle state){
   if(state == null){
      WebFragment web = new WebFragment();
      getSupportFragmentManager.beginTransaction().add(android.R.id.content, web).commit();
   }
}



public void onClick(View v){
      WebFragment web = new WebFragment();
      getSupportFragmentManager.beginTransaction().add(android.R.id.content, web).commit();
}
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,在Activity onCreate方法中添加片段时,片段中包含的WebView在按下文本字段时应该正常工作.但是,在第二个示例中,单击webview中的文本字段时没有任何反应,除非在显示webview后旋转设备.有人可以提供一个解决方案,如果我必须为我的片段创建一个新的活动才能正常工作,它首先要胜过片段的目的.

android backwards-compatibility webview android-fragments

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

LoginButton要求朋友列表权限,为什么?

我在facebook sdk中使用内置的LoginButton小部件,我没有对它进行任何更改我只是将它包含在我的xml布局文件中,并且setSessionStatusCallback不再调用任何其他内容.

但是,当我点击登录按钮时facebook说我要求基本信息和朋友列表.我不希望查看用户朋友的权限,在查看了LoginButton的来源之后,它似乎也不应该问,它的permissionsString列表是空的.

这里发生了什么?

更新:按请求添加我的代码.

    final LoginButton facebook = (LoginButton) getView().findViewById(R.id.facebook_login);
    if(facebook != null){
            if(Utility.getMetadataApplicationId(getActivity()) != null){
                facebook.setVisibility(View.VISIBLE);
                facebook.setSessionStatusCallback(new StatusCallback() {

                    @Override
                    public void call(Session session, SessionState state, Exception exception) {
                        if(session.isOpened()){
                            showProgress(true);
                            Request.executeMeRequestAsync(session, new GraphUserCallback() {

                                @Override
                                public void onCompleted(GraphUser user, Response response) {
                                    Log.d("test", user.getId());
                                }
                            });
                        }
                    }
                });
            }
    }
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-login

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