Java 如何从状态栏中清除未接来电通知
我试图以编程方式从状态栏中清除未接来电通知,但无法实现这一点。我将感谢任何帮助 编辑: 似乎SDK不允许我直接这么做。你们能给我一些建议吗?Java 如何从状态栏中清除未接来电通知,java,android,android-sdk-2.3,android-notifications,android-notification-bar,Java,Android,Android Sdk 2.3,Android Notifications,Android Notification Bar,我试图以编程方式从状态栏中清除未接来电通知,但无法实现这一点。我将感谢任何帮助 编辑: 似乎SDK不允许我直接这么做。你们能给我一些建议吗? 谢谢 您只能删除您自己提出的通知。您不能删除由另一个应用程序引发的通知。对不起 您只能删除您自己提出的通知。您不能删除由另一个应用程序引发的通知。对不起 我可以帮你。特别是这一段可能包括你在寻找什么 要在用户从“通知”窗口选择状态栏通知时清除该通知,请在通知中添加标志\u AUTO\u CANCEL标志。您还可以使用cancel(int)手动清除它,将通知
谢谢 您只能删除您自己提出的
通知。您不能删除由另一个应用程序引发的通知。对不起 您只能删除您自己提出的通知。您不能删除由另一个应用程序引发的通知。对不起 我可以帮你。特别是这一段可能包括你在寻找什么
要在用户从“通知”窗口选择状态栏通知时清除该通知,请在通知中添加标志\u AUTO\u CANCEL
标志。您还可以使用cancel(int)
手动清除它,将通知ID传递给它,或者使用cancelAll()清除所有通知。
可以帮助您。特别是这一段可能包括你在寻找什么
要在用户从“通知”窗口选择状态栏通知时清除该通知,请在通知中添加标志\u AUTO\u CANCEL
标志。您还可以使用cancel(int)
手动清除它,将通知ID传递给它,或者使用cancelAll()
清除您的所有通知。唯一“合法”但极其丑陋且通常无用的方法是向用户显示呼叫日志。我的意思是字面上的显示(成为视觉,获得焦点)。如果您想这样做,请按以下方法操作:
public static boolean showCallLog(Context context)
{
try
{
Intent showCallLog = new Intent();
showCallLog.setAction(Intent.ACTION_VIEW);
showCallLog.setType(android.provider.CallLog.Calls.CONTENT_TYPE);
context.startActivity(showCallLog);
return true;
}
catch (Exception e)
{
Log.d("Couldn't show call log.", e.getMessage());
}
return false;
}
造成这种混乱的原因是,负责呼叫记录的应用程序使用缓存值。您需要以某种方式通知这些应用程序呼叫日志已更改(seed means也已更改),并且应该更新它。如果所有设备上的所有此类应用程序都能接收广播以进行刷新,那就太好了,但据我所知,情况并非如此。实现您想要的功能的唯一“合法”但极其丑陋且通常毫无用处的方法是向用户显示通话日志。我的意思是字面上的显示(成为视觉,获得焦点)。如果您想这样做,请按以下方法操作:
public static boolean showCallLog(Context context)
{
try
{
Intent showCallLog = new Intent();
showCallLog.setAction(Intent.ACTION_VIEW);
showCallLog.setType(android.provider.CallLog.Calls.CONTENT_TYPE);
context.startActivity(showCallLog);
return true;
}
catch (Exception e)
{
Log.d("Couldn't show call log.", e.getMessage());
}
return false;
}
造成这种混乱的原因是,负责呼叫记录的应用程序使用缓存值。您需要以某种方式通知这些应用程序呼叫日志已更改(seed means也已更改),并且应该更新它。如果所有设备上的所有此类应用程序都能接收广播以进行刷新,那就太好了,但据我所知,情况并非如此。可以,我想清除系统/电话应用程序生成的未接来电通知。我想这对我不起作用,不过谢谢你的回复。可以,我想清除系统/电话应用程序生成的未接来电通知。我想这对我不起作用,不过谢谢你的回复。