0
我想在我的BroadcastReceiver.I中使用複選框來通知我設置了所有複選框,但是我無法阻止振動,並且無法控制我的通知。我想停止振動。如果checkbox首選項是false.İfcheckboxpreference是true.Vibrate我的手機。我該怎麼做? (我begginner在Preferenceactivity)CheckboxPreference在broadcastReceiver中用於通知
我設置的XML:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:defaultValue="true"
android:key="vibrate"
android:summary="Telefona görev geldiğinde titreşim yollanır."
android:title="Titreşim"
>
</CheckBoxPreference>
<CheckBoxPreference
android:defaultValue="true"
android:key="notify"
android:summary="Telefona görev geldiğinde ses ile uyarılır."
android:title="Bildirim sesi"
>
</CheckBoxPreference>
</PreferenceScreen>
我的設置活動(所以PreferenceActivity):
public class Ayarlar extends PreferenceActivity {
boolean autovibrate;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
getListView().setBackgroundColor(getResources().getColor(R.color.yüz));}
public void onStart(Intent intent, int startId) {
getPrefs();
}
private void getPrefs() {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
autovibrate = prefs.getBoolean("vibrate", true);
}
}
我的廣播接收器:
public class Alarm extends BroadcastReceiver {
cancelAlarm(context);
setalarm(context);
}
It is in a if loop.
Notification noti = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
noti = new Notification.Builder(context)
.setTicker(" size bir bildirim yolladı.")
.setContentTitle("")
.setContentText(listData.get(secilmissayı) + " i arama zamanı")
.setSmallIcon(R.drawable.alarm_24dp)
.addAction(R.drawable.cal, "Ara", pendingIntentYes)
.addAction(R.drawable.se, "Daha Sonra", pendingIntentYes2)
.setContentIntent(pIntent).getNotification();
}
NotificationManager notificationManager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
noti.defaults |= Notification.DEFAULT_ALL;
noti.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(0, noti);
I tried achive settings activity
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
}