Rahatsız Etmeyin ayarının hangi uygulamaların baypas edileceğini program aracılığıyla öğrenmeye çalışıyorum. Şimdiye kadar Rahatsız Etmeyin ayarında "Öncelikli uygulama bildirimleri" altında hangi uygulamalara izin verildiğini nasıl bulabilirsiniz?
, ben telefon modunu ya da değil Rahatsız Do ayarlanmış olup olmadığını kontrol etmek için aşağıdaki kodu kullanıyorum:public static boolean isDnDModeEnabled(Context context)
{
if(Build.VERSION.SDK_INT <23)
return false;
try {
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
int filterValue = notificationManager.getCurrentInterruptionFilter();
switch(filterValue)
{
case NotificationManager.INTERRUPTION_FILTER_ALL : Log.d("DND","Interruption filter all");
break;
case NotificationManager.INTERRUPTION_FILTER_ALARMS : Log.d("DND","Interruption filter alarms");
break;
case NotificationManager.INTERRUPTION_FILTER_PRIORITY : Log.d("DND","Interruption filter priority");
break;
case NotificationManager.INTERRUPTION_FILTER_UNKNOWN : Log.d("DND","Interruption filter unknown");
break;
case NotificationManager.INTERRUPTION_FILTER_NONE : Log.d("DND","Interruption filter none");
break;
}
if(filterValue == NotificationManager.INTERRUPTION_FILTER_ALL)
return false;
else if(filterValue == NotificationManager.INTERRUPTION_FILTER_PRIORITY)
{
//Logic based on which apps are allowed as priority
return true; //or false
}
else
return true;
}
catch(Exception e)
{
return false;
}
}
Ben Öncelik uygulaması notiications tıkladığınızda sekmesi, hangi uygulamaların öncelik istisnaları olarak izin verileceğini seçtiğim yüklü tüm uygulamaların bir listesini alırım.
Sorumum, program aracılığıyla programında, Rahatsız Etmeyin modu için öncelik istisnaları olarak izin verilen uygulamaların listesini alma ve böylece yukarıdaki kodda yorumu değiştiren mantığı nasıl tanımlayacağınızdır? Herhangi bir çözüm iyice takdir edilecektir.
Sadece sistem uygulamalarının buna nasıl erişebileceğini söylüyorsunuz? – SoulRayder
@SoulRayder: "bir çekle korunan" bölümünü alamadım: bağlantıyı "bir kontrolle korunan" metinle kontrol edin. Android, bazı kişilerin zor olduğunu ve sistem hizmetlerine yansıtmak için sistem hizmetlerini yansıtmaya çalışacağını bilmektedir. Bu nedenle sistem hizmetlerine, yalnızca onları arayabilecekleri uygulamaları çağırdığını doğrulayan sistem hizmetlerini denetlerler. İşte size engel olacak fonksiyon: http://androidxref.com/7.1.1_r6/xref/frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java#checkCallerIsSameApp –