Application Stops while getting IMEI Number

0

I am trying to get IMEI number of android device but as I call this method application stops and device says app stopped unfortunately

here is the method

 public void startService(View view) 
{
    startService(new Intent(getBaseContext(), MyService.class));
    TextView tv = (TextView) findViewById(R.id.textView1);
    tv.setText("Started");
    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String S =telephonyManager.getDeviceId();
    TextView tv1 = (TextView) findViewById(R.id.textView4);
    tv1.setText(S);
}

manifest file:

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

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="15" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.app.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name=".MyService" />
        <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    </application>

</manifest>

LogCat:

full logCat

    12-20 14:07:41.548      229-263/? D/InputReader﹕ AP_PROF:AppLaunch_dispatchPtr:Down:648835
12-20 14:07:41.549      229-262/? I/InputDispatcher﹕ dispatchEventToCurrentInputTargets - resumeWithAppendedMotionSample=false
12-20 14:07:41.549      229-262/? I/InputDispatcher﹕ channel '4196cc98  (server)' ~ prepareDispatchCycle - flags=0x00000208, xOffset=-144.000000, yOffset=-3.000000, scaleFactor=1.000000, pointerIds=0x0, resumeWithAppendedMotionSample=false
12-20 14:07:41.549      229-262/? I/InputDispatcher﹕ channel '4196cc98  (server)' ~ startDispatchCycle
12-20 14:07:41.549      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ prepareDispatchCycle - flags=0x00000105, xOffset=0.000000, yOffset=0.000000, scaleFactor=1.000000, pointerIds=0x80000000, resumeWithAppendedMotionSample=false
12-20 14:07:41.549      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ startDispatchCycle
12-20 14:07:41.553      229-262/? D/InputManager-JNI﹕ pokeUserActivity : eventType=2
12-20 14:07:41.553      229-262/? D/PowerManagerService﹕ reactivateScreenLocksLocked mProxIgnoredBecauseScreenTurnedOff=false
12-20 14:07:41.553      229-262/? D/PowerManagerService﹕ newState=3, realDifference=2SCREEN_ON_BIT=1
12-20 14:07:41.553      229-262/? D/InputManager-JNI﹕ pokeUserActivity : eventType=2
12-20 14:07:41.556      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ finishDispatchCycle - 8.1ms since event, 7.7ms since dispatch, handled=true
12-20 14:07:41.559      229-262/? I/InputDispatcher﹕ channel '4196cc98  (server)' ~ finishDispatchCycle - 10.9ms since event, 10.6ms since dispatch, handled=true
12-20 14:07:41.563       96-162/? I/SurfaceFlinger﹕ [SurfaceFlinger] frames:51, duration:7.504000, fps:6.796230
12-20 14:07:41.647      229-263/? D/InputReader﹕ AP_PROF:AppLaunch_dispatchPtr:Up:648933
12-20 14:07:41.647      229-262/? I/InputDispatcher﹕ dispatchEventToCurrentInputTargets - resumeWithAppendedMotionSample=false
12-20 14:07:41.647      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ prepareDispatchCycle - flags=0x00000105, xOffset=0.000000, yOffset=0.000000, scaleFactor=1.000000, pointerIds=0x80000000, resumeWithAppendedMotionSample=false
12-20 14:07:41.647      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ startDispatchCycle
12-20 14:07:41.647      229-262/? D/InputManager-JNI﹕ pokeUserActivity : eventType=2
12-20 14:07:41.647      229-262/? D/InputManager-JNI﹕ pokeUserActivity : eventType=2
12-20 14:07:41.648      229-262/? I/InputDispatcher﹕ channel '418ea098 com.example.app/com.example.app.MainActivity (server)' ~ finishDispatchCycle - 1.3ms since event, 1.1ms since dispatch, handled=true
12-20 14:07:41.649      229-386/? D/Settings/Provide﹕ lookupValue, table system cache.containsKey sound_effects_enabled
12-20 14:07:41.657    4358-4358/com.example.app D/TelephonyManager﹕ getDefaultSim is sim1
12-20 14:07:41.659    4358-4358/com.example.app D/AndroidRuntime﹕ Shutting down VM
12-20 14:07:41.659    4358-4358/com.example.app W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40eb1258)
12-20 14:07:41.665    4358-4358/com.example.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalStateException: Could not execute method of the activity
            at android.view.View$1.onClick(View.java:3050)
            at android.view.View.performClick(View.java:3517)
            at android.view.View$PerformClick.run(View.java:14155)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4511)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.reflect.InvocationTargetException
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at android.view.View$1.onClick(View.java:3045)
            at android.view.View.performClick(View.java:3517)
            at android.view.View$PerformClick.run(View.java:14155)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4511)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.SecurityException: Requires READ_PHONE_STATE: Neither user 10094 nor current process has android.permission.READ_PHONE_STATE.
            at android.os.Parcel.readException(Parcel.java:1327)
            at android.os.Parcel.readException(Parcel.java:1281)
            at com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy.getDeviceId(IPhoneSubInfo.java:182)
            at android.telephony.TelephonyManager.getDeviceId(TelephonyManager.java:274)
            at com.example.app.MainActivity.startService(MainActivity.java:34)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at android.view.View$1.onClick(View.java:3045)
            at android.view.View.performClick(View.java:3517)
            at android.view.View$PerformClick.run(View.java:14155)
            at android.os.Handler.handleCallback(Handler.java:605)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4511)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
            at dalvik.system.NativeStart.main(Native Method)
12-20 14:07:41.674      229-388/? D/Settings/Provide﹕ lookupValue, table secure cache.containsKey dropbox:data_app_crash
12-20 14:07:41.675      229-388/? D/Settings/Provide﹕ lookupValue, table secure cache.containsKey send_action_app_error
12-20 14:07:41.675      229-388/? W/ActivityManager﹕ Force finishing activity com.example.app/.MainActivity
12-20 14:07:41.675      229-388/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.679     229-4377/? D/Settings/Provide﹕ lookupValue, table secure cache.containsKey logcat_for_data_app_crash
12-20 14:07:41.679     229-4377/? D/Settings/Provide﹕ lookupValue, table secure cache.fullyMatchesDisk() logcat_for_data_app_crash
12-20 14:07:41.680     229-4377/? W/AES﹕ Exception Log handling...
12-20 14:07:41.711      229-245/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.711      229-258/? I/WindowManager﹕ Gaining focus: Window{41ccdfc0  paused=false}
12-20 14:07:41.728      229-245/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.729      229-245/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.756      229-245/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.760      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.774      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.784     229-4377/? D/AES﹕ ExceptionLog: notify aed
12-20 14:07:41.785     229-4377/? D/AES﹕ process : com.example.app
12-20 14:07:41.786     229-4377/? D/AES﹕ module : com.example.app v1 (1.0)
12-20 14:07:41.789      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.791     229-4377/? D/AES﹕ cause : data_app_crash
12-20 14:07:41.791     229-4377/? D/AES﹕ pid : 4358
12-20 14:07:41.792     229-4377/? D/AEE/LIBAEE﹕ shell: raise_exp(2, 4358, -1361051648, com.example.app, 0x0x636738, 0x0x0)
12-20 14:07:41.792     229-4377/? E/AEE/LIBAEE﹕ read_cmdline:com.example.app
12-20 14:07:41.792        89-89/? D/AEE/AED﹕ $===AEE===AEE===AEE===$
12-20 14:07:41.792        89-89/? D/AEE/AED﹕ aes socket(10) is ready for read
12-20 14:07:41.792        89-89/? D/AEE/AED﹕ handling AED session (13)
12-20 14:07:41.793     229-4377/? D/AEE/LIBAEE﹕ shell: connected with AED OK
12-20 14:07:41.793        89-89/? D/AEE/AED﹕ read success, handling msg (Ind, AE_IND_EXP_RAISED)
12-20 14:07:41.793        89-89/? D/AEE/AED﹕ Skip for Exp level'0'
12-20 14:07:41.793        89-89/? D/AEE/AED﹕ not know revents:0
12-20 14:07:41.793        89-89/? D/AEE/AED﹕ not know revents:0
12-20 14:07:41.793     229-4377/? D/AEE/LIBAEE﹕ shell: got the request (cmd:Ind,AE_IND_LOG_CLOSE)
12-20 14:07:41.794     229-4377/? D/AEE/LIBAEE﹕ shell: Got session close ind from AED
12-20 14:07:41.803      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.817      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.831      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.845      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.858      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.873      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.887      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.900      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.915      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.928      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.943      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.956      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.970      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:41.984      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.196      229-244/? W/ActivityManager﹕ Activity pause timeout for ActivityRecord{418c1b20 com.example.app/.MainActivity}
12-20 14:07:42.197      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.198      229-283/? D/NetworkPolicy﹕ onRecv: MSG_FOREGROUND_ACTIVITIES_CHANGED pid:uid:act=505:10028:true
12-20 14:07:42.200      229-520/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.203      229-520/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.204      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.205      505-505/? D/0601﹕ GNLauncher onRestart
12-20 14:07:42.205      505-505/? D/jipf-a﹕ onRestart mIsOnStop=true
12-20 14:07:42.205      505-505/? D/0601﹕ GNLauncher onStart
12-20 14:07:42.205      505-505/? D/jipf-a﹕ onStart mIsOnStop=false
12-20 14:07:42.205      505-505/? D/0601﹕ GNLauncher onResume
12-20 14:07:42.205      505-505/? D/jipf-a﹕ onResume mIsOnStop=false
12-20 14:07:42.206      505-505/? D/WallPaperProxy﹕ drawable.getIntrinsicWidth() =640,drawable.getIntrinsicHeight()=480
12-20 14:07:42.206      505-505/? D/WallPaperProxy﹕ MultiSpan wallpaper...
12-20 14:07:42.206      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.210      229-229/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.210      229-229/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.212      505-505/? D/jipf﹕ surfaceCreated
12-20 14:07:42.212      505-505/? D/jipf﹕ surfaceChanged
12-20 14:07:42.216      229-905/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.217      229-905/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.218      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.219      229-244/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.221      229-903/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.221      229-903/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.225      229-240/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.226      505-505/? D/jipf-a﹕ init
12-20 14:07:42.226      505-505/? D/0601﹕ GNLauncher init 1
12-20 14:07:42.226      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.227      229-239/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.228      229-239/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.229      505-505/? D/inv-profiling﹕ mInvRecords.size()=1
12-20 14:07:42.229      505-505/? D/inval﹕ calcScreenArea dirtyInOut=Rect(0, 0 - 1600, 376)
12-20 14:07:42.229      505-505/? D/DRAW-profiling﹕ calc use 0ms; dirty=Rect(0, 0 - 320, 480)
12-20 14:07:42.232      505-505/? D/draw-improve﹕ start onDraw mChildren.isNull=false
12-20 14:07:42.232      505-505/? D/draw-screen﹕ TranslateDrawingTransform
12-20 14:07:42.233      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.233      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.233      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.234      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.235     229-4378/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.235      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.235      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.236      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.238      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.242      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.242      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.243      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 7 - 64, 37)
12-20 14:07:42.243      505-505/? D/LauncherAppWidgetHostView﹕ onDraw
12-20 14:07:42.243      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.243      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.243      505-505/? D/ds-profiling﹕ rejected...
12-20 14:07:42.243      505-505/? D/CNP﹕ cache size=0
12-20 14:07:42.244      505-505/? D/HotSeatLayer﹕ HotSeatLayer onDraw
12-20 14:07:42.244      505-505/? D/CDrawable﹕ setBounds b=Rect(34, 0 - 64, 30)
12-20 14:07:42.245      505-505/? D/CDrawable﹕ setBounds b=Rect(26, 8 - 56, 38)
12-20 14:07:42.245      505-505/? D/CDrawable﹕ setBounds b=Rect(26, 8 - 56, 38)
12-20 14:07:42.245      505-505/? D/CDrawable﹕ setBounds b=Rect(26, 8 - 56, 38)
12-20 14:07:42.245      505-505/? D/CDrawable﹕ setBounds b=Rect(26, 8 - 56, 38)
12-20 14:07:42.246      505-505/? D/DRAW-profiling﹕ draw use 17ms; dirty=Rect(0, 0 - 320, 480)
12-20 14:07:42.246      505-505/? D/loc﹕ location=[0, 0]
12-20 14:07:42.248      229-482/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.249      229-482/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.258      229-476/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.263      229-476/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.267      229-476/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.270      229-229/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.271      229-229/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.275      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.290      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.303      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.317      229-258/? I/InputDispatcher﹕ setInputWindows
12-20 14:07:42.318      306-306/? D/dalvikvm﹕ GC_FOR_ALLOC freed 1316K, 29% free 

i am using Qmobile a low cost china phone with ANDROID 4.0.4

android
asked on Stack Overflow Dec 20, 2013 by Addy • edited Dec 20, 2013 by Addy

2 Answers

1

A similar error arises with my low cost China tablet: the have no telephony services, they are simple tablets with very poor features.

So, in my case, the error means: "You don't have any 'telephony' so you can't get an IMEI number!"

Have fun.

EDIT

Anyway, I bought about 1000 tablet from China, 2% of these have the IMEI issue.

answered on Stack Overflow Dec 20, 2013 by Seraphim's • edited Dec 20, 2013 by Seraphim's
1

Your <uses-permission> tag should be inside <manifest> tag, not <application> tag. See docs here.

In your AndroidManifest, move:

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

outside of <application> tag. Place it inside <manifest> section, eg:

<uses-sdk
    android:minSdkVersion="7"
    android:targetSdkVersion="15" />    

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
answered on Stack Overflow Dec 20, 2013 by Melquiades • edited Dec 20, 2013 by Melquiades

User contributions licensed under CC BY-SA 3.0