|
|
GSM Zelle ausgeben ?
verfasst am 17.04.2011 19:56:06
Hi, ich möchte für eine funktionalität meiner app die aktuelle ID der GSM Zelle ausgeben ich hab natürlich geschaut wie es gehen sollt und mich eig auch daran gehalten ( GsmCellLocation | Android Developers ) hier mein sniplet 1GsmCellLocation CellLocation = new GsmCellLocation(); 2Integer i = CellLocation.getCid(); 3textView.setText(i.toString());
dummerweise gibt der mir die ID -1 aus (es konnte also keine zelle ermittelt werden) und ja ich habe das auf meinem tel getestet und nicht im emulator was mach ich falsch ?
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 19:59:47 (über AndroidPIT-App)
— geändert am 17.04.2011 20:01:57
Meine erste Idee: Fehlen dir vielleicht Permissions? Lg Ansgar edit: Idee 2: Vielleicht hat dein Handy kein GSM beim Testen, sondern HDSPA?
-----
http://www.c-labs-android.de
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 20:11:33
— geändert am 17.04.2011 20:38:13
danke für die schnelle antwort... Permission habe ich wirklich nicht gesetzt - seh ich bei google welche ich setzen muss ? bzw wo seh ich überhaupt, wenn ich ne permission setzen muss
edit: jedes handy unterstützt GSM - das is das 2G netz ;)
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 20:42:45 (über AndroidPIT-App)
Wenn du dir die Dokumentation zu der Klasse, die du da nutzt durchliest, solltest du das finden.. Mir schon klar, was gsm ist, dachte nur, wenn du schnelles Internet (3G oder so) hast, das er dann kein GSM Turm hat.. Hab da keine Ahnung von^^ Lg Ansgar
-----
http://www.c-labs-android.de
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 21:05:09
nunja dann schein ich für GSM Cell ID keine permission setzen ... ich dacht du hast was gesehen ich les davon nix
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 21:33:39 (über AndroidPIT-App)
Hm, gibt dir getPsc() denn was aus, wenn -1 beim anderen kommt? Lg Ansgar
-----
http://www.c-labs-android.de
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 21:35:14
— geändert am 17.04.2011 23:28:21
Du benötigst die Permission: android.permission.READ_PHONE_STATEGesetzt werden muss: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
-----
lg Voss - Ach ja und noch was, die AndroidPIT-Regeln ლ(╹◡╹ლ) Android Security
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 21:41:44
— geändert am 17.04.2011 22:28:16
alles -1 .... was mich auch stutzig macht, ist public GsmCellLocation () Since: API Level 1 Empty constructor. Initializes the LAC and CID to -1.
also denk ich mir, das ich irgendwie zugriff aufs netz brauch damit der construktor nicht mehr empty is ... keine ahnung so schwer kann es doch eigentlich nicht sein -.- EDIT: wo ließt du das ich die brauch ... naja hab sie gesetzt bringt aber trotzdem nichts EDIT: hab nach langen langen suchen evtl das richtige probiert. 1TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 2GsmCellLocation location = (GsmCellLocation) tm.getCellLocation(); 3cellID = location.getCid(); 4textView.setText(cellID.toString());
jetzt muss ich nur noch checken ob das auch die richtige ID ist
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 17.04.2011 23:27:48
Ich muss mich entschuldigen, Du brauchst natürlich diese Permission: <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> Nicht wie oben gesagt die READ_PHONE_STATE ... Sorry, ich war gedanklich in der falschen Abteilung. Und ja, so wie Du es jetzt machst ist es korrekt.
-----
lg Voss - Ach ja und noch was, die AndroidPIT-Regeln ლ(╹◡╹ლ) Android Security
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 18.04.2011 07:25:51
— geändert am 18.04.2011 07:27:17
der Mattn 1GsmCellLocation CellLocation = new GsmCellLocation(); 2Integer i = CellLocation.getCid(); 3textView.setText(i.toString());
Hätte mich auch sehr gewundert, dass das SO funktioniert. Das wäre ein totaler Bruch im Stil der API. Ich initialisiere ein Objekt über den Default-Konstruktor und es füllt sich automatisch mit allen Daten, die es braucht? Mir fällt nichts (außer vielleicht java.util.Date) ein, was in Android, oder Java so funktioniert. Sowas läuft eigentlich IMMER über Factories, Manager, oder zumindest, indem der App-Kontext an den Konstruktor übergeben wird. Das Objekt muss seine Daten ja irgendwo her beziehen und dafür braucht es einen Einstiegspunkt (Kontext), oder muss von einer Factory extern initialisiert werden. Nur mal so als Hinweis, damit du in Zukunft ein besseres Gefühl dafür bekommst welche Lösung schon von vornherein "falsch" oder "unwahrscheinlich" aussieht
-----
Verkaufswert Rechner -- Verkaufswert Rechner Online -- 1-Klick Kleinanzeigen -- MadMonitor -- AndroidPIT Dev Stats -- Directupload.net Image Sharer
|
|
|
RE: GSM Zelle ausgeben ?
verfasst am 18.04.2011 15:04:21
— geändert am 19.04.2011 12:28:56
jap hatte die überlegung auch das die daten irgendwoher holen muss - (btw ich kenn auch nur date, welches das defaultmäßig macht^^)
|