gpt4 book ai didi

java - 获取 WCDMA 信号强度

转载 作者:行者123 更新时间:2023-12-01 11:47:20 25 4
gpt4 key购买 nike

您好,我正在开发一个 Android 应用程序来监控 WCDMA 网络的 RSCP 和 ECNO,我尝试使用以下代码,在构建过程中没有错误,但当我在手机上运行该应用程序时出现错误(Samsung Galaxcy)核心 Prime)。

代码:

    public class SignalStrength extends ActionBarActivity {

TelephonyManager tManager;
PhoneStateListener pListener;
public static String LOG_TAG = "PhoneStateListener";
public TextView rs = (TextView) findViewById(R.id.rscp);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signal_strength);
tManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
tManager.listen(pListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_signal_strength, menu);
return true;
}

public void onSignalStrengthsChanged(CellSignalStrengthWcdma signalStrength) {
//super.onSignalStrengthsChanged(signalStrength);
Log.i(LOG_TAG, "onSignalStrengthsChanged" + signalStrength);
Log.i(LOG_TAG, "onSignalStrengthsChanged: getRscp" + signalStrength.getDbm());
int ttt = signalStrength.getDbm();
rs.setText(String.valueOf(ttt));
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}

代码有错误吗?

请帮我解决这个问题,提前致谢。

新代码:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_signal_strength);
TextView textView = (TextView) findViewById(R.id.textView);
TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();
CellInfoWcdma cellinfoWcdma = null;
if(cellLocation!=null){
cellinfoWcdma = (CellInfoWcdma)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthWcdma cellSignalStrengthWcdma = cellinfoWcdma.getCellSignalStrength();
if(Build.VERSION.SDK_INT>=18){
cellSignalStrengthWcdma.getDbm();
int ttt = cellSignalStrengthWcdma.getDbm();
//int cid = cellLocation.getPsc();
textView.setText(String.valueOf(ttt));
}

}
}

新的调试日志:

> 03-15 22:13:21.710  15005-15005/com.asiacell.signalstrength
> D/dalvikvm﹕ Late-enabling CheckJNI 03-15 22:13:21.770
> 15005-15005/com.asiacell.signalstrength D/ActivityThread﹕
> handleBindApplication:com.asiacell.signalstrength 03-15 22:13:21.800
> 15005-15005/com.asiacell.signalstrength W/ApplicationPackageManager﹕
> getCSCPackageItemText() 03-15 22:13:21.800
> 15005-15005/com.asiacell.signalstrength D/DisplayManager﹕
> DisplayManager() 03-15 22:13:21.830
> 15005-15005/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onNestedScrollAccepted, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
> 03-15 22:13:21.830 15005-15005/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11348:
> Landroid/view/ViewGroup;.onNestedScrollAccepted
> (Landroid/view/View;Landroid/view/View;I)V 03-15 22:13:21.830
> 15005-15005/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6f at 0x0000 03-15 22:13:21.830
> 15005-15005/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onStopNestedScroll, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
> 03-15 22:13:21.830 15005-15005/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11354:
> Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
> 03-15 22:13:21.830 15005-15005/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000 03-15 22:13:21.830
> 15005-15005/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll,
> referenced from method
> android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled 03-15 22:13:21.830 15005-15005/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 9039:
> Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
> ()V 03-15 22:13:21.830 15005-15005/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e 03-15 22:13:21.840
> 15005-15005/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getChangingConfigurations,
> referenced from method
> android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
> 03-15 22:13:21.840 15005-15005/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 364:
> Landroid/content/res/TypedArray;.getChangingConfigurations ()I 03-15
> 22:13:21.840 15005-15005/com.asiacell.signalstrength D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x0002 03-15 22:13:21.840
> 15005-15005/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getType, referenced from method
> android.support.v7.internal.widget.TintTypedArray.getType 03-15
> 22:13:21.840 15005-15005/com.asiacell.signalstrength W/dalvikvm﹕ VFY:
> unable to resolve virtual method 386:
> Landroid/content/res/TypedArray;.getType (I)I 03-15 22:13:21.840
> 15005-15005/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6e at 0x0002 03-15 22:13:21.940
> 15005-15005/com.asiacell.signalstrength D/OpenGLRenderer﹕ Enabling
> debug mode 0 03-15 22:13:21.990
> 15005-15005/com.asiacell.signalstrength I/Timeline﹕ Timeline:
> Activity_idle id: android.os.BinderProxy@41eedeb8 time:95899927 03-15
> 22:14:02.329 15081-15081/com.asiacell.signalstrength D/dalvikvm﹕
> Late-enabling CheckJNI 03-15 22:14:02.379
> 15081-15081/com.asiacell.signalstrength D/ActivityThread﹕
> handleBindApplication:com.asiacell.signalstrength 03-15 22:14:02.409
> 15081-15081/com.asiacell.signalstrength W/ApplicationPackageManager﹕
> getCSCPackageItemText() 03-15 22:14:02.409
> 15081-15081/com.asiacell.signalstrength D/DisplayManager﹕
> DisplayManager() 03-15 22:14:02.439
> 15081-15081/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onNestedScrollAccepted, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
> 03-15 22:14:02.439 15081-15081/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11350:
> Landroid/view/ViewGroup;.onNestedScrollAccepted
> (Landroid/view/View;Landroid/view/View;I)V 03-15 22:14:02.439
> 15081-15081/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6f at 0x0000 03-15 22:14:02.439
> 15081-15081/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onStopNestedScroll, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
> 03-15 22:14:02.439 15081-15081/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11356:
> Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
> 03-15 22:14:02.439 15081-15081/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000 03-15 22:14:02.449
> 15081-15081/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll,
> referenced from method
> android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled 03-15 22:14:02.449 15081-15081/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 9039:
> Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
> ()V 03-15 22:14:02.449 15081-15081/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e 03-15 22:14:02.449
> 15081-15081/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getChangingConfigurations,
> referenced from method
> android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
> 03-15 22:14:02.449 15081-15081/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 364:
> Landroid/content/res/TypedArray;.getChangingConfigurations ()I 03-15
> 22:14:02.449 15081-15081/com.asiacell.signalstrength D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x0002 03-15 22:14:02.449
> 15081-15081/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getType, referenced from method
> android.support.v7.internal.widget.TintTypedArray.getType 03-15
> 22:14:02.449 15081-15081/com.asiacell.signalstrength W/dalvikvm﹕ VFY:
> unable to resolve virtual method 386:
> Landroid/content/res/TypedArray;.getType (I)I 03-15 22:14:02.449
> 15081-15081/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6e at 0x0002 03-15 22:14:02.499
> 15081-15081/com.asiacell.signalstrength D/AndroidRuntime﹕ Shutting
> down VM 03-15 22:14:02.499 15081-15081/com.asiacell.signalstrength
> W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception
> (group=0x416ebbc0) 03-15 22:14:02.509
> 15081-15081/com.asiacell.signalstrength E/AndroidRuntime﹕ FATAL
> EXCEPTION: main
> Process: com.asiacell.signalstrength, PID: 15081
> java.lang.RuntimeException: Unable to start activity ComponentInfo{com.asiacell.signalstrength/com.asiacell.signalstrength.SignalStrength}:
> java.lang.NullPointerException
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
> at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
> at android.app.ActivityThread.access$800(ActivityThread.java:155)
> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
> at android.os.Handler.dispatchMessage(Handler.java:102)
> at android.os.Looper.loop(Looper.java:136)
> at android.app.ActivityThread.main(ActivityThread.java:5433)
> at java.lang.reflect.Method.invokeNative(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:515)
> at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
> at dalvik.system.NativeStart.main(Native Method)
> Caused by: java.lang.NullPointerException
> at com.asiacell.signalstrength.SignalStrength.onCreate(SignalStrength.java:32)
> at android.app.Activity.performCreate(Activity.java:5301)
> at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2291)
>             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
>             at android.app.ActivityThread.access$800(ActivityThread.java:155)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
>             at android.os.Handler.dispatchMessage(Handler.java:102)
>             at android.os.Looper.loop(Looper.java:136)
>             at android.app.ActivityThread.main(ActivityThread.java:5433)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:515)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
>             at dalvik.system.NativeStart.main(Native Method) 03-15 22:17:02.385 15297-15297/com.asiacell.signalstrength
> D/ActivityThread﹕ handleBindApplication:com.asiacell.signalstrength
> 03-15 22:17:02.415 15297-15297/com.asiacell.signalstrength
> W/ApplicationPackageManager﹕ getCSCPackageItemText() 03-15
> 22:17:02.425 15297-15297/com.asiacell.signalstrength
> D/DisplayManager﹕ DisplayManager() 03-15 22:17:02.455
> 15297-15297/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onNestedScrollAccepted, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
> 03-15 22:17:02.455 15297-15297/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11348:
> Landroid/view/ViewGroup;.onNestedScrollAccepted
> (Landroid/view/View;Landroid/view/View;I)V 03-15 22:17:02.455
> 15297-15297/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6f at 0x0000 03-15 22:17:02.455
> 15297-15297/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onStopNestedScroll, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
> 03-15 22:17:02.455 15297-15297/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11354:
> Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
> 03-15 22:17:02.455 15297-15297/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000 03-15 22:17:02.465
> 15297-15297/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll,
> referenced from method
> android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled 03-15 22:17:02.465 15297-15297/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 9039:
> Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
> ()V 03-15 22:17:02.465 15297-15297/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e 03-15 22:17:02.465
> 15297-15297/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getChangingConfigurations,
> referenced from method
> android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
> 03-15 22:17:02.465 15297-15297/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 364:
> Landroid/content/res/TypedArray;.getChangingConfigurations ()I 03-15
> 22:17:02.465 15297-15297/com.asiacell.signalstrength D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x0002 03-15 22:17:02.465
> 15297-15297/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getType, referenced from method
> android.support.v7.internal.widget.TintTypedArray.getType 03-15
> 22:17:02.465 15297-15297/com.asiacell.signalstrength W/dalvikvm﹕ VFY:
> unable to resolve virtual method 386:
> Landroid/content/res/TypedArray;.getType (I)I 03-15 22:17:02.465
> 15297-15297/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6e at 0x0002 03-15 22:17:02.585
> 15297-15297/com.asiacell.signalstrength D/OpenGLRenderer﹕ Enabling
> debug mode 0 03-15 22:17:02.645
> 15297-15297/com.asiacell.signalstrength I/Timeline﹕ Timeline:
> Activity_idle id: android.os.BinderProxy@41ef2ad8 time:96120583 03-15
> 22:17:54.546 15370-15370/com.asiacell.signalstrength
> D/ActivityThread﹕ handleBindApplication:com.asiacell.signalstrength
> 03-15 22:17:54.576 15370-15370/com.asiacell.signalstrength
> W/ApplicationPackageManager﹕ getCSCPackageItemText() 03-15
> 22:17:54.576 15370-15370/com.asiacell.signalstrength
> D/DisplayManager﹕ DisplayManager() 03-15 22:17:54.606
> 15370-15370/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onNestedScrollAccepted, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
> 03-15 22:17:54.606 15370-15370/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11348:
> Landroid/view/ViewGroup;.onNestedScrollAccepted
> (Landroid/view/View;Landroid/view/View;I)V 03-15 22:17:54.606
> 15370-15370/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6f at 0x0000 03-15 22:17:54.606
> 15370-15370/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onStopNestedScroll, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
> 03-15 22:17:54.606 15370-15370/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11354:
> Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
> 03-15 22:17:54.606 15370-15370/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000 03-15 22:17:54.606
> 15370-15370/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll,
> referenced from method
> android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled 03-15 22:17:54.606 15370-15370/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 9039:
> Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
> ()V 03-15 22:17:54.606 15370-15370/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e 03-15 22:17:54.616
> 15370-15370/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getChangingConfigurations,
> referenced from method
> android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
> 03-15 22:17:54.616 15370-15370/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 364:
> Landroid/content/res/TypedArray;.getChangingConfigurations ()I 03-15
> 22:17:54.616 15370-15370/com.asiacell.signalstrength D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x0002 03-15 22:17:54.616
> 15370-15370/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getType, referenced from method
> android.support.v7.internal.widget.TintTypedArray.getType 03-15
> 22:17:54.616 15370-15370/com.asiacell.signalstrength W/dalvikvm﹕ VFY:
> unable to resolve virtual method 386:
> Landroid/content/res/TypedArray;.getType (I)I 03-15 22:17:54.616
> 15370-15370/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6e at 0x0002 03-15 22:17:54.716
> 15370-15370/com.asiacell.signalstrength D/OpenGLRenderer﹕ Enabling
> debug mode 0 03-15 22:17:54.766
> 15370-15370/com.asiacell.signalstrength I/Timeline﹕ Timeline:
> Activity_idle id: android.os.BinderProxy@41ee7198 time:96172707 03-15
> 22:24:10.483 15519-15519/com.asiacell.signalstrength
> D/ActivityThread﹕ handleBindApplication:com.asiacell.signalstrength
> 03-15 22:24:10.513 15519-15519/com.asiacell.signalstrength
> W/ApplicationPackageManager﹕ getCSCPackageItemText() 03-15
> 22:24:10.513 15519-15519/com.asiacell.signalstrength
> D/DisplayManager﹕ DisplayManager() 03-15 22:24:10.543
> 15519-15519/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onNestedScrollAccepted, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
> 03-15 22:24:10.543 15519-15519/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11350:
> Landroid/view/ViewGroup;.onNestedScrollAccepted
> (Landroid/view/View;Landroid/view/View;I)V 03-15 22:24:10.543
> 15519-15519/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6f at 0x0000 03-15 22:24:10.543
> 15519-15519/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.view.ViewGroup.onStopNestedScroll, referenced from
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
> 03-15 22:24:10.543 15519-15519/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 11356:
> Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
> 03-15 22:24:10.543 15519-15519/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6f at 0x0000 03-15 22:24:10.553
> 15519-15519/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method
> android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll,
> referenced from method
> android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled 03-15 22:24:10.553 15519-15519/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 9039:
> Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
> ()V 03-15 22:24:10.553 15519-15519/com.asiacell.signalstrength
> D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000e 03-15 22:24:10.553
> 15519-15519/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getChangingConfigurations,
> referenced from method
> android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
> 03-15 22:24:10.553 15519-15519/com.asiacell.signalstrength
> W/dalvikvm﹕ VFY: unable to resolve virtual method 364:
> Landroid/content/res/TypedArray;.getChangingConfigurations ()I 03-15
> 22:24:10.553 15519-15519/com.asiacell.signalstrength D/dalvikvm﹕ VFY:
> replacing opcode 0x6e at 0x0002 03-15 22:24:10.553
> 15519-15519/com.asiacell.signalstrength I/dalvikvm﹕ Could not find
> method android.content.res.TypedArray.getType, referenced from method
> android.support.v7.internal.widget.TintTypedArray.getType 03-15
> 22:24:10.553 15519-15519/com.asiacell.signalstrength W/dalvikvm﹕ VFY:
> unable to resolve virtual method 386:
> Landroid/content/res/TypedArray;.getType (I)I 03-15 22:24:10.553
> 15519-15519/com.asiacell.signalstrength D/dalvikvm﹕ VFY: replacing
> opcode 0x6e at 0x0002 03-15 22:24:10.613
> 15519-15519/com.asiacell.signalstrength D/AndroidRuntime﹕ Shutting
> down VM 03-15 22:24:10.613 15519-15519/com.asiacell.signalstrength
> W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception
> (group=0x416ebbc0) 03-15 22:24:10.613
> 15519-15519/com.asiacell.signalstrength E/AndroidRuntime﹕ FATAL
> EXCEPTION: main
> Process: com.asiacell.signalstrength, PID: 15519
> java.lang.RuntimeException: Unable to start activity ComponentInfo{com.asiacell.signalstrength/com.asiacell.signalstrength.SignalStrength}:
> java.lang.NullPointerException
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
> at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
> at android.app.ActivityThread.access$800(ActivityThread.java:155)
> at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
> at android.os.Handler.dispatchMessage(Handler.java:102)
> at android.os.Looper.loop(Looper.java:136)
> at android.app.ActivityThread.main(ActivityThread.java:5433)
> at java.lang.reflect.Method.invokeNative(Native Method)
> at java.lang.reflect.Method.invoke(Method.java:515)
> at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
> at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
> at dalvik.system.NativeStart.main(Native Method)
> Caused by: java.lang.NullPointerException
> at com.asiacell.signalstrength.SignalStrength.onCreate(SignalStrength.java:32)
> at android.app.Activity.performCreate(Activity.java:5301)
> at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2291)
>             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2378)
>             at android.app.ActivityThread.access$800(ActivityThread.java:155)
>             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
>             at android.os.Handler.dispatchMessage(Handler.java:102)
>             at android.os.Looper.loop(Looper.java:136)
>             at android.app.ActivityThread.main(ActivityThread.java:5433)
>             at java.lang.reflect.Method.invokeNative(Native Method)
>             at java.lang.reflect.Method.invoke(Method.java:515)
>             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
>             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
>             at dalvik.system.NativeStart.main(Native Method)

最佳答案

为了获得WCDMA信号强度,您可以使用以下代码:

TelephonyManager telephonyManager = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
List<CellInfo> cellList = telephonyManager.getAllCellInfo();
CellInfoWcdma cellinfoWcdma = null;
if(cellList!=null && !cellList.isEmpty()){
cellinfoWcdma = (CellInfoWcdma)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthWcdma cellSignalStrengthWcdma = cellinfoWcdma.getCellSignalStrength();
if(Build.VERSION.SDK_INT>=18){
cellSignalStrengthWcdma.getDbm();
}
}

请注意,getDbm() 方法仅从 API 18 开始可用。

编辑:您还需要在 Manifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

关于java - 获取 WCDMA 信号强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29054383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com