I have done that while debugging.. But don't know what exactly to look for in this case.. Hence a clue or something would be helpful. Thats why I have pasted the code so a direct pinpointing at error can be done by someone more experienced than me.
Thanks Omkar On May 4, 4:09 pm, Dianne Hackborn <hack...@android.com> wrote: > Look at the stack crawl that is printed when the app is crashed and try to > determine from that what went wrong. That is your first job, before asking > for help here. > > > > > > On Wed, May 4, 2011 at 1:20 AM, Omkar <omkar.ghai...@gmail.com> wrote: > > I have pasted my code below.. I somehow dont get the Toast at all even > > when the app is triggered on usb cable plugin to the device. It starts > > off but force closes.. Pls suggest whats wrong here. I have a intent > > filter under receiver for Action_Power_Connected and disconnected > > under the manifest file whereas a intentfilter for > > action_battery_changed for actual battery details. > > > package com.utilities.android.batterylog; > > > import android.app.Activity; > > import android.content.BroadcastReceiver; > > import android.content.Context; > > import android.content.Intent; > > import android.content.IntentFilter; > > import android.os.BatteryManager; > > import android.os.Bundle; > > import android.os.Handler; > > import android.os.Message; > > import android.widget.TextView; > > import android.widget.Toast; > > > public class BatteryLog extends Activity { > > private TextView mStatus; > > private TextView mLevel; > > private TextView mScale; > > private TextView mHealth; > > private TextView mVoltage; > > private TextView mTemperature; > > private TextView mTechnology; > > > private static final int EVENT_TICK = 1; > > > private Handler mHandler = new Handler() { > > @Override > > public void handleMessage(Message msg) { > > switch (msg.what) { > > case EVENT_TICK: > > //updateBatteryStats(); > > sendEmptyMessageDelayed(EVENT_TICK, 1000); > > break; > > } > > } > > }; > > > /** > > * Format a number of tenths-units as a decimal string without > > using a > > * conversion to float. E.g. 347 -> "34.7" > > */ > > private final String tenthsToFixedString(int x) { > > int tens = x / 10; > > return new String("" + tens + "." + (x - 10*tens)); > > } > > > /** > > *Listens for intent broadcasts > > */ > > private IntentFilter mIntentFilter; > > > private BroadcastReceiver mIntentReceiver = new > > BroadcastReceiver() { > > @Override > > public void onReceive(Context context, Intent intent) { > > String action = intent.getAction(); > > > if(action.equals(intent.ACTION_POWER_CONNECTED)) > > { > > Toast.makeText(context, "Power Connected", (int) > > System.currentTimeMillis()); > > } > > else if(action.equals(intent.ACTION_POWER_DISCONNECTED)) > > { > > Toast.makeText(context, "Power DisConnected", (int) > > System.currentTimeMillis()); > > } > > else if (action.equals(Intent.ACTION_BATTERY_CHANGED)) { > > int plugType = intent.getIntExtra("plugged", 0); > > > mLevel.setText("level = " + > > intent.getIntExtra("level", 0)); > > mScale.setText("scale = " + > > intent.getIntExtra("scale", 0)); > > mVoltage.setText("voltage = " + > > intent.getIntExtra("voltage", 0) + " " > > + > > getString(R.string.battery_info_voltage_units)); > > mTemperature.setText("temperature = " + > > tenthsToFixedString(intent.getIntExtra("temperature", 0)) > > + > > getString(R.string.battery_info_temperature_units)); > > mTechnology.setText("technology = " + > > intent.getStringExtra("technology")); > > > int status = intent.getIntExtra("status", > > BatteryManager.BATTERY_STATUS_UNKNOWN); > > String statusString; > > if (status == BatteryManager.BATTERY_STATUS_CHARGING) > > { > > statusString = > > getString(R.string.battery_info_status_charging); > > if (plugType > 0) { > > statusString = statusString + " = " + > > getString( > > (plugType == > > BatteryManager.BATTERY_PLUGGED_AC) > > ? > > R.string.battery_info_status_charging_ac > > : > > R.string.battery_info_status_charging_usb); > > } > > } else if (status == > > BatteryManager.BATTERY_STATUS_DISCHARGING) { > > statusString = > > getString(R.string.battery_info_status_discharging); > > } else if (status == > > BatteryManager.BATTERY_STATUS_NOT_CHARGING) { > > statusString = > > getString(R.string.battery_info_status_not_charging); } > > else if (status == BatteryManager.BATTERY_STATUS_FULL) > > { > > statusString = > > getString(R.string.battery_info_status_full); > > } else { > > statusString = > > getString(R.string.battery_info_status_unknown); > > } > > mStatus.setText(statusString); > > > int health = intent.getIntExtra("health", > > BatteryManager.BATTERY_HEALTH_UNKNOWN); > > String healthString; > > if (health == BatteryManager.BATTERY_HEALTH_GOOD) { > > healthString = > > getString(R.string.battery_info_health_good); > > } else if (health == > > BatteryManager.BATTERY_HEALTH_OVERHEAT) { > > healthString = > > getString(R.string.battery_info_health_overheat); > > } else if (health == > > BatteryManager.BATTERY_HEALTH_DEAD) { > > healthString = > > getString(R.string.battery_info_health_dead); > > } else if (health == > > BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE) { > > healthString = > > getString(R.string.battery_info_health_over_voltage); > > } else if (health == > > BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE) { > > healthString = > > getString(R.string.battery_info_health_unspecified_failure); > > } else { > > healthString = > > getString(R.string.battery_info_health_unknown); > > } > > mHealth.setText(healthString); > > } > > } > > }; > > > @Override > > public void onCreate(Bundle icicle) { > > super.onCreate(icicle); > > > setContentView(R.layout.main); > > > // create the IntentFilter that will be used to listen > > // to battery status broadcasts > > mIntentFilter = new IntentFilter(); > > mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); > > } > > > @Override > > public void onResume() { > > super.onResume(); > > > mStatus = (TextView)findViewById(R.id.status); > > mLevel = (TextView)findViewById(R.id.level); > > mScale = (TextView)findViewById(R.id.scale); > > mHealth = (TextView)findViewById(R.id.health); > > mTechnology = (TextView)findViewById(R.id.technology); > > mVoltage = (TextView)findViewById(R.id.voltage); > > mTemperature = (TextView)findViewById(R.id.temperature); > > > mHandler.sendEmptyMessageDelayed(EVENT_TICK, 1000); > > > registerReceiver(mIntentReceiver, mIntentFilter); > > } > > > @Override > > public void onPause() { > > super.onPause(); > > mHandler.removeMessages(EVENT_TICK); > > > // we are no longer on the screen stop the observers > > unregisterReceiver(mIntentReceiver); > > } > > > } > > > -- > > You received this message because you are subscribed to the Google > > Groups "Android Developers" group. > > To post to this group, send email to android-developers@googlegroups.com > > To unsubscribe from this group, send email to > > android-developers+unsubscr...@googlegroups.com > > For more options, visit this group at > >http://groups.google.com/group/android-developers?hl=en > > -- > Dianne Hackborn > Android framework engineer > hack...@android.com > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en