バッテリー残量を示す次のサンプルコードがあります。コードを実行すると、強制終了エラーが発生します。誰でも何か考えがありますか?アンドロイドバッテリーインジケーター
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>
コメントの要約:ここのコードは完全に正常です。強制終了は、IDなしでTextViewによって引き起こされました。この質問の中の何かに完全に無関係なものです。私はこの質問が将来の訪問者に価値のあるものを提供するとは思わない。閉会投票。 –