レシーバが正常に動作しています...保留中のインテントが送受信されており、これまではすべて正常に動作していました...スピナにはアラーム音が入っていて、ユーザがそのアイテムをクリックすると0..can誰かがこれは私の目覚まし時計の活動レシーバがデータを取得しない
int choose_alarm_sound;
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selected = parent.getItemAtPosition(position).toString();
choose_alarm_sound = position;
Intent broad_Intent = new Intent();
Log.e("TEST 1", choose_alarm_sound + "");
switch (selected) {
case "Buzzer": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.buzzer);
mp.start();
break;
}
case "Doorbell": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.doorbell);
mp.start();
break;
}
case "FirePager": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.firepager);
mp.start();
break;
}
case "Ring": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.ring);
mp.start();
break;
}
case "SchoolBell": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.schoolbell);
mp.start();
break;
}
case "Siren": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.siren);
mp.start();
break;
}
case "Siren2": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.siren2);
mp.start();
break;
}
case "SmokeAlarm": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.smokealarm);
mp.start();
break;
}
case "Warning": {
mp = MediaPlayer.create(alarmClockActivity.this, R.raw.warning);
mp.start();
break;
}
}
broad_Intent.putExtra("alarm_choice", choose_alarm_sound);
Log.e("TEST 2", choose_alarm_sound + "");
sendBroadcast(broad_Intent);
の私のスピナーです
を助けるように、私は位置を取得し、receiver..problemにそれを送信する受信機は、常に値を取得していますこれは私の受信機です
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent arg1) {
Integer getAlarm=arg1.getExtras().getInt("alarm_choice");
Log.e("TEST 3", String.valueOf(getAlarm));
私のログテスト1とテスト2は常に正しい値ですが、受信者のテスト3は毎回0です。私の受信者はこの意図を受けていません。 .ANYの助けを大幅に高く評価されるだろう
マニフェスト:
<?xml version="1.0" encoding="utf-8"?>
<application
android:allowBackup="true"
android:icon="@drawable/mini"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".TimeDateRem"/>
<activity android:name=".BirthdayRem"/>
<activity android:name=".Details"/>
<activity android:name=".DailyReminder"/>
<activity android:name=".HolidayReminderLebanon"/>
<activity android:name=".HolidayReminderSaudiArabia"/>
<activity android:name=".HolidayReminderKuwait"/>
<activity android:name=".HolidayReminderUAE"/>
<activity android:name=".AlarmChooser"/>
<activity android:name=".Timer"/>
<receiver android:name=".AlarmReceiver">
</receiver>
<service android:name=".MediaPlayingService"/>
</application>
あなたが投稿したコードでは、余分なもの以外には「何でも**」を「broad-Intent」に入れることはありません。 'sendBroadcast()'を呼び出すと、何も起こらないはずです。なぜなら、ACTIONまたはコンポーネントが放送の 'Intent'に設定されていないからです。あなたの 'AlarmReceiver.onReceive()'は決して呼ばれるべきではありません。使用している実際のコードを反映するように投稿を編集してください! –
だから私はいけない場合...それはいずれかの方法shouldntそれを送信する必要がありますか?私のコードの残りの部分はこの部分とは関係がありません...この具体的な意図は、受信者へのスピナーの項目の位置を私に知らせることになっています...もしsendbroadcastが意図的に余分で...その意図を受信者にどのように送ろうとしていますか?受信者が呼び出されている...受信者のログ(テスト3)が呼び出されているが、正しい値ではない0が返されている@DavidWasser – spyder3anz
申し訳ありませんが、これはまったく意味がありません。あなたが "余分な"だけで放送する 'Intent'を送ると、Androidは' Intent'を配信する人を誰も知らない。ブロードキャスト 'Intent'はシステム全体にわたり、アンドロイドはそれを受信するために登録したすべてのリスナーに' Intent'を送ります。私の意見では、あなたの 'AlarmReceiver.onReceive()'が呼び出される原因があります。なぜなら、あなたが期待している 'Intent'に"余分な "ものがない理由を説明するでしょう。マニフェストを投稿してください。多分この謎を解くのに役立ちます! –