Я пытался отменить уведомления целевого приложения на Android, затем я прочитал исходный код и заметил, что для этого могут быть некоторые хитрости. Я попытался назвать это отражением.Как вызвать метод cancelAllNotifications (String) (в android.app.INotificationManager) путем отражения
public abstract interface INotificationManager extends IInterface {
public abstract void cancelAllNotifications(String paramString) throws RemoteException;
но не работает хорошо, продолжайте бросать InvocationTargetException, когда код запускается до последней строки. Я до сих пор не понимаю почему. Не могли бы вы дать мне несколько намеков?
это мой код. Большое спасибо :)
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Method getServiceMethod = mNotificationManager.getClass().getMethod("getService");
Object iNotificationManagerObject = getServiceMethod.invoke(mNotificationManager, (Object[]) null);
Class iNotificationManager = Class.forName("android.app.INotificationManager");
Method cancelAllNotificationsMethod = iNotificationManager.getMethod("cancelAllNotifications", new Class[] { String.class});
cancelAllNotificationsMethod.invoke(iNotificationManagerObject, new Object[] { "com.reallyBadApp"});
это не будет работать, если вы пытаетесь вызвать этот метод. InvocationTargetException все равно случится. :) –