Geräte Id auslesen mit Java

  • Antworten:27
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 487

13.02.2012, 10:35:59 via Website

Hallo,
ich bin gerade dabei eine App zu Entwickeln und komme einfach nicht weiter.
Mir ist einfach kein Befehl bekannt in Java und die Geräte Id, Android Version und so was auszulesen.

Bitte Helft mir!!!!!!

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 11:00:34 via Website

Hey Rafael,
erst mal danke für deine schnelle antwort.
Ich probiere es gleich mal aus ;-)

Gruß alex

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 11:47:57 via Website

ich habe jetzt folgendes problem, wenn ich die Funktion

"final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

final String tmDevice, tmSerial, tmPhone, androidId;
tmDevice = "" + tm.getDeviceId();
tmSerial = "" + tm.getSimSerialNumber();
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
String deviceId = deviceUuid.toString();"

einem button zu ordnen will und dann den Emulator starte passiert nichts oder es wird abgebrochen :-(

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 2.243

13.02.2012, 12:07:16 via Website

Steht auch in dem Artikel drin:

As Richard mentions below, don't forget that you need permission to read the TelephonyManager properties, so add this to your manifest:

1<uses-permission android:name="android.permission.READ_PHONE_STATE" />

Antworten
Gelöschter Account
  • Forum-Beiträge: 5.136

13.02.2012, 12:25:15 via Website

Hallo Alexander,

darf man fragen, was Du mit der Device-ID vorhast?

lg Voss

Antworten
  • Forum-Beiträge: 487

13.02.2012, 12:41:16 via Website

Jörg V.
Hallo Alexander,

darf man fragen, was Du mit der Device-ID vorhast?

Ich benötige die ID der jeweiligen Android Handys, um sie später einmal in eine Datenbank einzutragen und den besitzern Gewisse möglichkeiten zu erlauben auf meiner Homepage oder in anderen programmen die ich schreibe.

Gruß Alexander

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 12:42:46 via Website

Rafael K.
Steht auch in dem Artikel drin:

As Richard mentions below, don't forget that you need permission to read the TelephonyManager properties, so add this to your manifest:

1<uses-permission android:name="android.permission.READ_PHONE_STATE" />


Ja habe ich getan

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="****"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".****Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

— geändert am 13.02.2012, 12:54:02

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 13:05:04 via Website

So vieleicht fang ich noch einmal von ganz vorne an.

Ich will eine App entwicklen in Eclipse (Java). Diese App soll mir per Buttonclick die UUID, und alles auslesen und Darstellen.
ich habe alles so gemacht wie beschrieben aber es klappt einfach nicht :-(

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 2.243

13.02.2012, 13:15:09 via Website

Alexander M.
So vieleicht fang ich noch einmal von ganz vorne an.

Ich will eine App entwicklen in Eclipse (Java). Diese App soll mir per Buttonclick die UUID, und alles auslesen und Darstellen.
ich habe alles so gemacht wie beschrieben aber es klappt einfach nicht :-(

Wenn du bei Samsung anrufst und sagst "Mein Handy funktioniert nicht", werden die dir ja auch kaum sagen "Achso, wir wissen natürlich genau wo der Fehler liegt", oder? :)

Also nochmal: Schau ins LogCat und kopier den gesamten Fehler (Stacktrace) hier rein!

— geändert am 13.02.2012, 13:15:47

Antworten
  • Forum-Beiträge: 487

13.02.2012, 13:30:26 via Website

Ich weiß blöde frage aber wo finde ich das LogCat ? :(
Sorry bin noch ein totaler Java anfänger

— geändert am 13.02.2012, 13:30:53

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 13:52:00 via Website

Hier einmal mein Code

meine Gereateid Manifest
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="Geraeteid.auslesen"
4 android:versionCode="1"
5 android:versionName="1.0" >
6
7 <uses-sdk android:minSdkVersion="10" />
8 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
9
10 <application
11 android:icon="@drawable/ic_launcher"
12 android:label="@string/app_name" >
13 <activity
14 android:name=".GeraeteidActivity"
15 android:label="@string/app_name" >
16 <intent-filter>
17 <action android:name="android.intent.action.MAIN" />
18
19 <category android:name="android.intent.category.LAUNCHER" />
20 </intent-filter>
21 </activity>
22 </application>
23
24</manifest>

GeraeteidActivity.java

1package Geraeteid.auslesen;
2
3import java.util.UUID;
4
5import android.app.Activity;
6import android.content.Context;
7import android.os.Bundle;
8import android.telephony.TelephonyManager;
9import android.view.View;
10import android.view.View.OnClickListener;
11import android.widget.Button;
12
13public class GeraeteidActivity extends Activity {
14 /** Called when the activity is first created. */
15
16 private Button Geraete_ID;
17
18 @Override
19 public void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.main);
22
23 Geraete_ID = (Button)findViewById(R.id.button1);
24 Geraete_ID.setOnClickListener((OnClickListener) this);
25
26 }
27 public void onClick(View v)
28 {
29 final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
30
31 final String tmDevice, tmSerial, tmPhone, androidId;
32 tmDevice = "" + tm.getDeviceId();
33 tmSerial = "" + tm.getSimSerialNumber();
34 androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
35
36 UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
37 String deviceId = deviceUuid.toString();
38
39 }
40}

meine main xmal:

1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:orientation="vertical" >
6
7 <TextView
8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:text="@string/hello" />
11
12 <Button
13 android:id="@+id/button1"
14 android:layout_width="wrap_content"
15 android:layout_height="wrap_content"
16 android:text="@string/geraete_id" />
17
18</LinearLayout>

meine String.xml

1<?xml version="1.0" encoding="utf-8"?>
2<resources>
3
4 <string name="hello">Hello World, GeraeteidActivity!</string>
5 <string name="app_name">Geraeteid</string>
6 <string name="geraete_id">Geraete ID</string>
7
8</resources>

und die LogCat datei

02-13 12:47:57.845: E/AndroidRuntime(347): FATAL EXCEPTION: main

02-13 12:47:57.845: E/AndroidRuntime(347): java.lang.RuntimeException: Unable to start activity ComponentInfo{Geraeteid.auslesen/Geraeteid.auslesen.GeraeteidActivity}: java.lang.ClassCastException: Geraeteid.auslesen.GeraeteidActivity

02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.os.Handler.dispatchMessage(Handler.java:99)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.os.Looper.loop(Looper.java:130)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-13 12:47:57.845: E/AndroidRuntime(347): at java.lang.reflect.Method.invokeNative(Native Method)
02-13 12:47:57.845: E/AndroidRuntime(347): at java.lang.reflect.Method.invoke(Method.java:507)
02-13 12:47:57.845: E/AndroidRuntime(347): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-13 12:47:57.845: E/AndroidRuntime(347): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-13 12:47:57.845: E/AndroidRuntime(347): at dalvik.system.NativeStart.main(Native Method)
02-13 12:47:57.845: E/AndroidRuntime(347): Caused by: java.lang.ClassCastException: Geraeteid.auslesen.GeraeteidActivity
02-13 12:47:57.845: E/AndroidRuntime(347): at Geraeteid.auslesen.GeraeteidActivity.onCreate(GeraeteidActivity.java:24)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-13 12:47:57.845: E/AndroidRuntime(347): ... 11 more

— geändert am 13.02.2012, 13:59:31

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 14:02:54 via Website

so bekomm ich das wieder wenn ich den LogCat speicher

02-13 12:47:57.755: D/AndroidRuntime(347): Shutting down VM
02-13 12:47:57.805: W/dalvikvm(347): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-13 12:47:57.845: E/AndroidRuntime(347): FATAL EXCEPTION: main
02-13 12:47:57.845: E/AndroidRuntime(347): java.lang.RuntimeException: Unable to start activity ComponentInfo{Geraeteid.auslesen/Geraeteid.auslesen.GeraeteidActivity}: java.lang.ClassCastException: Geraeteid.auslesen.GeraeteidActivity
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.os.Handler.dispatchMessage(Handler.java:99)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.os.Looper.loop(Looper.java:130)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-13 12:47:57.845: E/AndroidRuntime(347): at java.lang.reflect.Method.invokeNative(Native Method)
02-13 12:47:57.845: E/AndroidRuntime(347): at java.lang.reflect.Method.invoke(Method.java:507)
02-13 12:47:57.845: E/AndroidRuntime(347): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-13 12:47:57.845: E/AndroidRuntime(347): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-13 12:47:57.845: E/AndroidRuntime(347): at dalvik.system.NativeStart.main(Native Method)
02-13 12:47:57.845: E/AndroidRuntime(347): Caused by: java.lang.ClassCastException: Geraeteid.auslesen.GeraeteidActivity
02-13 12:47:57.845: E/AndroidRuntime(347): at Geraeteid.auslesen.GeraeteidActivity.onCreate(GeraeteidActivity.java:24)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-13 12:47:57.845: E/AndroidRuntime(347): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-13 12:47:57.845: E/AndroidRuntime(347): ... 11 more

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 14:14:16 via Website

Rafael K.
Scheinbar castest du in deinem Code irgendwas auf die falschen Klasse.
Zeile 24.
this ist kein OnClickListener ... dazu müsste deine Activity OnClickListener implementieren.


So in etwa???
1public class GeraeteidActivity extends Activity
2implements OnClickListener{
3 /** Called when the activity is first created. */
4
5 private Button Geraete_ID;
6
7 @Override
8 public void onCreate(Bundle savedInstanceState) {
9 super.onCreate(savedInstanceState);
10 setContentView(R.layout.main);
11
12 Geraete_ID = (Button)findViewById(R.id.button1);
13 Geraete_ID.setOnClickListener(this);

Jedem das Seine, doch Mir das Meine

Antworten
  • Forum-Beiträge: 487

13.02.2012, 14:24:42 via Website

Schade ich habe gehofft das, dass die lösung wäre aber leider nicht. es tut sich wie gehabt nichts :(
Klicke ich auf den Button macht er nichts weder im Emulator noch auf meinem Handy.

Jedem das Seine, doch Mir das Meine

Antworten

Empfohlene Artikel