ここに私のソースコードです。エラーをインスタンス化できませんか?
public class MainActivity extends Activity {
private static String content;
private static String phone;
private String number;
private String message;
private BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
//---get the SMS message passed in---
Bundle bundle = intent.getExtras();
SmsMessage[] msgs = null;
if (bundle != null)
{
number = "";
message = "";
//---retrieve the SMS message received---
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i<msgs.length; i++){
msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);
number = msgs[i].getOriginatingAddress();
message = msgs[i].getMessageBody();
}
//---display the new SMS message---
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
SendMe();
}
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter();
registerReceiver(receiver, filter);
setContentView(R.layout.main);
}
public void SendMe(){
PendingIntent pi = PendingIntent.getActivity(this, 0,
new Intent(this, MainActivity.class), 0);
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, message, pi, null);
}
}
私はlogcat
6月28日17で、このエラーを取得しておく:11:23.241:ERROR/AndroidRuntime(1311): java.lang.RuntimeException:受信機 をインスタンス化できませんコム.ftt.autospond.MainActivity:java.lang.ClassCastExceptionが: com.ftt.autospond.MainActivity
は、ここに私のマニフェスト
0であります<?xml version="1.0" encoding="utf-8"?>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.ftt.autospond.MainActivity">
<intent-filter>
<action android:name=
"android.provider.Telephony.SMS_RECEIVED" />
私は既にそれを追加しました。上の編集で自分のマニフェストを投稿しましたので、皆さんに見てもらえます..そこに問題があるかもしれません... – theITRanger22
あなたのレシーバーをマニフェストのように登録することはできません。クラス内で動的にマニフェストに含める必要はありません。 その受信者をプルして、それが処理されるかどうか確認してください – Mutmatt
@Mutmattそれがやった!しかし、唯一の問題は..放送受信機の内部には何も起こっていません...テキストが受信されると、トーストは表示されません。それはそれがテキストを受け取ったことを認識しないように。 – theITRanger22