Созданный вами метод beep()
никогда не вызывается (поэтому, похоже, он не нужен), однако, если по какой-то причине он вам нужен, вам нужно будет передать ему параметр, чтобы ваша деятельность начала нормально работать.,Я бы порекомендовал перенести эти строки кода в onReceive()
, давая вам следующее:
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(PhoneFinder.ACTION)) {
StringBuilder sb = new StringBuilder();
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
for (Object pdu : pdus) {
SmsMessage messages = SmsMessage
.createFromPdu((byte[]) pdu);
sb.append("Received SMS Message\nFrom: ");
sb.append(messages.getDisplayOriginatingAddress());
sb.append("\n----Message----\n");
sb.append(messages.getDisplayMessageBody());
}
}
Log.i(PhoneFinder.LOG_TAG, "[SMSApp] onReceiveIntent: " + sb);
Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
Intent startIntent = new Intent(context, AlarmService.class);
startActivity(startIntent);
}
}
Я переименовал ваше намерение, чтобы оно не совпадало с именем передаваемого параметра. Вы также должныубедитесь, что каждое действие, которое вы используете в своем приложении, определено в AndroidManifest;Ваше приложение будет зависать при попытке запустить новое действие, которое вы не определили с помощью тега <activity>
.
Если при сборке или во время выполнения возникают дальнейшие ошибки, пожалуйста, опубликуйте выходные данные явно.1010 * Я настоятельно рекомендую прочитать этот документ SDK .
Приветствия.