Note that there are some explanatory texts on larger screens.

plurals
  1. POUsing Proximity Sensor in Android 4.3
    primarykey
    data
    text
    <p>I was working on proximity sensor in S4. After update to 4.3 my application started getting crashed.</p> <p>Here is the code Sample :</p> <p>This method is written in a service class</p> <pre><code>public void playSong(int songIndex) { // Play song try { Log.d("Debug","playSong 1"); mp.reset(); Log.d("Debug","playSong 2"); mp.setDataSource(songsListingSD.get(songIndex).get("songPath")); Log.d("Debug","playSong 3"); mp.prepare(); Log.d("Debug","playSong 4"); mp.start(); // Displaying Song title Log.d("Debug","playSong 5"); String songTitle = songsListingSD.get(songIndex).get("songTitle"); Log.d("Debug","playSong songTitle = " + songTitle); Log.d("Debug","playSong 6"); songTitleLabel.get().setText(songTitle); Log.d("Debug","playSong 7"); // Changing Button Image to pause image btnPlay.get().setImageResource(R.drawable.ic_media_pause); // :351 Log.d("Debug","playSong 8"); // set Progress bar values songProgressBar.get().setProgress(0); songProgressBar.get().setMax(100); // Updating progress bar updateProgressBar(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } </code></pre> <p>I have implemented the service class with SensorEventListener interface and implemented the abstract method.</p> <p>Here is the code :</p> <pre><code> public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub Log.d("Player Service", "service called for sensor event, Next called1"); try{ Log.d("Debug"," check Here"); Random rand = new Random(); Log.d("Debug","sensor method 1"); currentSongIndex = rand . nextInt((songsListingSD.size() - 1) - 0 + 1) + 0; Log.d("Debug","sensor method 2"); Log.d("Debug"," Cur Index = " + currentSongIndex); playSong(currentSongIndex); Log.d("Debug","sensor method 3"); } catch(Exception e){e.printStackTrace();} } public void onAccuracyChanged(Sensor sensor, int accuracy) { } </code></pre> <p>This is the stack Trace : </p> <pre><code>10-29 01:09:29.546: D/Player Service(19444): service called for sensor event, Next called1 10-29 01:09:29.546: D/Debug(19444): check Here 10-29 01:09:29.546: D/Debug(19444): sensor method 1 10-29 01:09:29.546: D/Debug(19444): sensor method 2 10-29 01:09:29.546: D/Debug(19444): Cur Index = 2 10-29 01:09:29.546: D/Debug(19444): playSong 1 10-29 01:09:29.546: D/Debug(19444): playSong 2 10-29 01:09:29.576: D/Debug(19444): playSong 3 10-29 01:09:29.585: D/Debug(19444): playSong 4 10-29 01:09:29.596: D/Debug(19444): playSong 5 10-29 01:09:29.596: D/Debug(19444): playSong songTitle = [SongsPK.info] Aashiqui 2 - 01 - Tum Hi Ho 10-29 01:09:29.596: D/Debug(19444): playSong 6 10-29 01:09:29.596: W/System.err(19444): java.lang.NullPointerException 10-29 01:09:29.596: W/System.err(19444): at com.example.audionplayerinservice.PlayerService.playSong(PlayerService.java:351) 10-29 01:09:29.606: W/System.err(19444): at com.example.audionplayerinservice.PlayerService.onSensorChanged(PlayerService.java:589) 10-29 01:09:29.606: W/System.err(19444): at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:371) 10-29 01:09:29.606: W/System.err(19444): at android.os.MessageQueue.nativePollOnce(Native Method) 10-29 01:09:29.606: W/System.err(19444): at android.os.MessageQueue.next(MessageQueue.java:132) 10-29 01:09:29.606: W/System.err(19444): at android.os.Looper.loop(Looper.java:124) 10-29 01:09:29.606: W/System.err(19444): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-29 01:09:29.606: W/System.err(19444): at java.lang.reflect.Method.invokeNative(Native Method) 10-29 01:09:29.606: W/System.err(19444): at java.lang.reflect.Method.invoke(Method.java:525) 10-29 01:09:29.606: W/System.err(19444): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-29 01:09:29.606: W/System.err(19444): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-29 01:09:29.616: W/System.err(19444): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>Code to register the proximity listener : </p> <pre><code> private WeakReference&lt;ImageView&gt; btnPlay private WeakReference&lt;TextView&gt; songTitleLabel; private SensorManager mSensorManager; private Sensor mSensor; mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); mSensorManager.registerListener(this, mSensor,SensorManager.SENSOR_DELAY_NORMAL ); </code></pre> <p>I am testing this in emulator 4.3 (Android) . If I comment the sensor part then the app is working. Please help me in debugging as I don't able to find any error. Thanks in Advance </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload