Je dois annuler la notification des appels manqués pour un certain nombre. J'ai vu la classe NotificationMgr sur com.android.phone mais je suis incapable de l'appeler par réflexion. Est-ce qu'il y a un autre moyen?Mettre à jour la notification des appels manqués sur Android
Répondre
Le code ci-dessous annule la notification d'appel manqué.
Pour obtenir le travail de la méthode correctement, vous devez obtenir l'autorisation de MODIFY_PHONE_STATE dans AndroidManifest.xml comme
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE"></uses-permission>
dans votre AndroidManifest.xml
String Log_Tag = "log";
try
{
Class serviceManagerClass = Class.forName("android.os.ServiceManager");
Method getServiceMethod = serviceManagerClass.getMethod("getService", String.class);
Object phoneService = getServiceMethod.invoke(null, "phone");
Class ITelephonyClass = Class.forName("com.android.internal.telephony.ITelephony");
Class ITelephonyStubClass = null;
for(Class clazz : ITelephonyClass.getDeclaredClasses())
{
if (clazz.getSimpleName().equals("Stub"))
{
ITelephonyStubClass = clazz;
break;
}
}
if (ITelephonyStubClass != null)
{
Class IBinderClass = Class.forName("android.os.IBinder");
Method asInterfaceMethod = ITelephonyStubClass.getDeclaredMethod("asInterface",
IBinderClass);
Object iTelephony = asInterfaceMethod.invoke(null, phoneService);
if (iTelephony != null)
{
Method cancelMissedCallsNotificationMethod = iTelephony.getClass().getMethod(
"cancelMissedCallsNotification");
cancelMissedCallsNotificationMethod.invoke(iTelephony);
}
else
{
Log.w(LOG_TAG, "Telephony service is null, can't call "
+ "cancelMissedCallsNotification");
}
}
else
{
Log.d(LOG_TAG, "Unable to locate ITelephony.Stub class!");
}
} catch (ClassNotFoundException ex)
{
Log.e(LOG_TAG,
"Failed to clear missed calls notification due to ClassNotFoundException!", ex);
} catch (InvocationTargetException ex)
{
Log.e(LOG_TAG,
"Failed to clear missed calls notification due to InvocationTargetException!",
ex);
} catch (NoSuchMethodException ex)
{
Log.e(LOG_TAG,
"Failed to clear missed calls notification due to NoSuchMethodException!", ex);
} catch (Throwable ex)
{
Log.e(LOG_TAG, "Failed to clear missed calls notification due to Throwable!", ex);
}
Le lien d'origine est http://sites.google.com/site/t2k269group/development-diary/reset-missed-calls-notification
Si certains savent utiliser la réflexion pour accéder à la classe dans com.android.phone, dites-moi s'il vous plaît.
Vous ne pouvez affecter aucune autre application Notifications
d'une autre application, et encore moins une pour les appels manqués.
Bien que je suis d'accord avec CommonsWare que vous ne pouvez pas/ne devez pas annuler d'autres notifications d'applications, le code ci-dessus fonctionne pour annuler la notification d'appels manqués stock. Merci :) –
- 1. Recevoir des appels manqués dans Windows Mobile
- 2. Comment faire pour récupérer des appels manqués sur Android SDK 2.2
- 3. Comment mettre à jour l'écran sur Android?
- 4. Mettre à jour l'application android à distance
- 5. Puis-je accéder aux appels manqués depuis mon application iPhone?
- 6. Comment mettre à jour automatiquement Android: versionName?
- 7. comment mettre en œuvre la notification push dans Android
- 8. Comment mettre à jour SimpleAdapter sous Android
- 9. comment mettre à jour les contacts Android
- 10. Enregistrement des appels téléphoniques sur Android
- 11. Mettre en œuvre la notification de badge sur mon application
- 12. de blocage des appels entrants - Android
- 13. Notification Android
- 14. Forcez le widget Android à mettre à jour
- 15. Comment transférer des appels à la messagerie vocale dans Android?
- 16. Mettre à jour le widget Android à l'état
- 17. Service Android avec notification
- 18. Mise à jour de la notification à l'aide de KNotify
- 19. Mettre à jour PageTitle sur Timer.Tick
- 20. veulent mettre à jour l'application sur l'air
- 21. Mettre à jour la luminosité de l'affichage sur Android après l'avoir modifié par programme
- 22. mettre à jour le tableau puis mettre à jour l'étape
- 23. Comment mettre à jour Django sur Ubuntu?
- 24. Fermer l'activité via cliquez sur la liste de notification Android
- 25. mettre à jour RubyGems sur Ubuntu
- 26. GPS ne pas mettre à jour l'emplacement après la fermeture et rouvrir app sur android
- 27. Cliquez sur notification Android, exécutez l'intention principale?
- 28. Notification Android NullPointer
- 29. Mise à jour Android App sur App Android Market
- 30. jquery modifier la variable sur clic et mettre à jour
Toute personne utilisant ceci pose des problèmes, car il peut ne pas fonctionner sur toutes les versions d'Android (passé/présent/futur) et il peut ne pas fonctionner sur tous les appareils Android. – CommonsWare
C'est correct - le code semble échouer sur 2.3.x. –