BroadCastReceiverからActivityが起動できない
コードは下記の通り、startActivityによってエラーが出て強制終了する
package daichi.namikawa.LaunchSkype; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.telephony.SmsMessage; import android.widget.Toast; public class SMSReceiver extends BroadcastReceiver{ private static final String SMS_REC_ACTION = "android.provider.Telephony.SMS_RECEIVED"; @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(SMSReceiver.SMS_REC_ACTION)){ StringBuilder sb = new StringBuilder(); Bundle bundle = intent.getExtras(); if(bundle != null){ Object[] pdus = (Object[]) bundle.get("pdus"); for (Object pdu : pdus) { SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu); sb.append("body - " + smsMessage.getDisplayMessageBody()); } } Toast.makeText(context, "SMS RECEIVED - " + sb.toString(), Toast.LENGTH_LONG).show(); Intent SkypeIntent = new Intent(); SkypeIntent.setClassName("com.skype.raider", "com.skype.raider.ui.SplashScreenActivity"); SkypeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(SkypeIntent); } } }
Androidアプリ開発日記始動
今日からandroidの勉強記録を書きます。
毎日少しづつかけたらいいけど、必ず毎日とか無理な制限は課さずに、だらだらと書いていこう。
備忘録がわりになればいいし。
とりあえず今のところ作ろうとしているアプリ案
- 寝言録音アプリ
→とりあえず動く版を作成。ロックかけた時等にも継続して動くような改造が必要
- SMSでSkype起動アプリ
→SMSを受ける部分は完成。ただSMSRecieverからintentを投げる方法が不明。Serviceを使えばOK?
- 一日のタスクを記録できるアプリ
→未着手
- Googleのリアルタイム検索とか集約して使って今起こっていることを検索出来るアプリ
→今日思いついた
追記
SMSRecieverからintentを投げる方法が不明。Serviceを使えばOK?
→context.startActivityでいけた。
startActivityはもともとcontextクラスのメッソドみたい
vespa
02a2: BMC System Error Log (SEL) Full
というメッセージが出た時は
http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c01199684&lang=en&cc=us&taskId=101&prodSeriesId=446006
参照
VESPA設定
/usr/sbin/setupから
以下を参考にした
http://rina.jpn.ph/~rance/linux/centos/centos51_after.html
FLT_DIG
FLT_DIG 桁の 10 進数は、float 型に丸めることができ、再び正確に元の 10 進数に戻すことができる。
cfloatをインクルードする必要あり
outFile.precision(FLT_DIG);
c_str()
stringやsstringクラスにおいて
文字列をchar*で返したい時はメンバ関数c_str()を使う
ostringstream comMkdir;
comMkdir << mkdir test;
system(comMkdir.str().c_str());
みたいに