Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从状态栏中清除未接来电通知_Java_Android_Android Sdk 2.3_Android Notifications_Android Notification Bar - Fatal编程技术网

Java 如何从状态栏中清除未接来电通知

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)手动清除它,将通知

我试图以编程方式从状态栏中清除未接来电通知,但无法实现这一点。我将感谢任何帮助

编辑: 似乎SDK不允许我直接这么做。你们能给我一些建议吗?
谢谢

您只能删除您自己提出的
通知。您不能删除由另一个应用程序引发的
通知。对不起

您只能删除您自己提出的
通知。您不能删除由另一个应用程序引发的
通知。对不起

我可以帮你。特别是这一段可能包括你在寻找什么

要在用户从“通知”窗口选择状态栏通知时清除该通知,请在通知中添加
标志\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也已更改),并且应该更新它。如果所有设备上的所有此类应用程序都能接收广播以进行刷新,那就太好了,但据我所知,情况并非如此。

可以,我想清除系统/电话应用程序生成的未接来电通知。我想这对我不起作用,不过谢谢你的回复。可以,我想清除系统/电话应用程序生成的未接来电通知。我想这对我不起作用,不过谢谢你的回复。