У меня есть следующий пример кода для указания уровня заряда батареи.Когда я запускаю код, он выдает ошибку принудительного закрытия.У кого-нибудь есть идеи, почему?
public class ActActivity extends Activity {
private BroadcastReceiver _batteryinfo = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int iBatLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
/*ProgressBar _batPB = (ProgressBar) findViewById(R.id.progressBar);
_batPB.setProgress(iBatLevel);
TextView _batText = (TextView) findViewById(R.id.batterylevel);
_batText.setText("Battery level:"+Integer.toString(iBatLevel)+"%");
*/
Toast.makeText(context, iBatLevel, Toast.LENGTH_SHORT).show();
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
registerReceiver(_batteryinfo, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
}
В моем файле манифеста есть следующее, хотя я где-то читал, что оно не нужно для создания динамического приемника.
<receiver android:name=".service.BatteryActivity">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>
</receiver>