我的应用将以直播视频流为特色.我想知道是否有办法检测用户的设备上是否有2G,3G或4G,以及当前连接属于哪个类别?我的问题是关于Android设备.
我正在使用getIntent()来读取捆绑信息的应用程序.我想将其中一个bundle字段设置为null,以便在后续的简历中收到修改后的intent,但是我仍然从getIntent()获得相同的意图.我注意到按下后退键后产生的是新意图,但不是.
intent.getExtras().getInt("FLAG_FIELD") returns 1
intent.getExtras().setString("FLAG_FIELD", null);
Run Code Online (Sandbox Code Playgroud)
但是当Activity再次恢复时,getInt()仍然返回一个值而不是null.不确定如何清除捆绑中的Int字段.
刚试过更新:
intent.getExtras().putInt("FLAG_FIELD, -1);
Run Code Online (Sandbox Code Playgroud)
这也行不通.看起来getIntent()的意图无法更改.
更新:onResume()在活动变得可见之前连续3次在调试器中被调用?因此,即使我在这里设置了一个标志,似乎很难改变状态,因为我无法分辨哪个resume()调用是实际显示之前的最后一个.
android布局使用layout_weight.我的目标是所有组件的1/3,但有时页脚会逐渐消失,然后可见.设置从可见时,重量计算如何工作?我没有看到具有1/3重量的线性布局内的内容?
我主要是onInterceptTouch(MotionEvent)为了允许水平滚动.然而,我发现我无法检测到用户何时触摸了嵌入的v.视图上的x,y MotionEvent.getX(),getY()就像2000,2400 ,而像400,500
View v = findViewById(R.id.myView);
Rect r = new Rect();
v.getHitRect(r);
int[] loc = new int[2];
v.gtLocationOnScreen(loc);
int x = loc[0];
int y = loc[1];
// Result x,y are huge numbers 2400, etc
// event.getX() is 30, event.getY() == 500 nothing close to 2400.
if (r.contains((int)event.getX(), (int)event.getY())
{
return false; // this is never true even when I click right on View v.
}
Run Code Online (Sandbox Code Playgroud)