メッセージを受信して解釈する SMSRecevier というクラスがあり、メッセージに応じて特定のタスクを実行する必要があります。特定の SMS が到着したときに、そのアクティビティにアタッチしたい RegisterPhoneActivity と RegisterPhoneFragment があります。どうやってやるの?私はこれを試しました:SMSReceiverで:
if (messageBody.contains(context.getResources().getString(R.string.numberResponse)))
{
String[] parts = messageBody.split(" ");
String number1 = parts[3];
String number2 = parts[5];
String number3 = parts[7];
RegisterPhoneActivity registerPhoneActivity=new RegisterPhoneActivity();
registerPhoneActivity.showNumberFragment(number1, number2, number3);
}
RegisterPhoneActivity で:
public void showNumberFragment(String no1, String no2, String no3)
{
View container=findViewById(R.id.fragment_container);
if (container!= null) {
RegisterPhoneFragment newFragment = new RegisterPhoneFragment();
Bundle args = new Bundle();
args.putString(RegisterPhoneFragment.NUMBER1, no1);
args.putString(RegisterPhoneFragment.NUMBER2, no2);
args.putString(RegisterPhoneFragment.NUMBER3, no3);
newFragment.setArguments(args);
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, newFragment).commit();
}