是否有任何AlertDialog替代服务?

时间:2017-03-02 15:34:07

标签: android

我正试图通过我的服务显示AlertDialog -

private void display() {
    File sdcard = Environment.getExternalStorageDirectory();
    File file = new File(sdcard, "broadcast.txt");
    StringBuilder text = new StringBuilder();
    try {
        BufferedReader br = new BufferedReader(new FileReader(file));
        String line;
        while ((line = br.readLine()) != null) {
            text.append(line);
            text.append('\n');
        }
        br.close();
    } catch (IOException e) {
    }
    if (!text.toString().contains("null")) {
        AlertDialog alertDialog = new AlertDialog.Builder(this)
                .setTitle("BROADCAST").setMessage(text).create();
        alertDialog.getWindow().setType(
                WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
        alertDialog.show();
    } else {
        // don't show
    }
}

这完全正常,但它需要清单中的权限 -

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

还有什么我可以用来通过我的服务显示我的文字吗?我不想使用此权限,我也希望它通过服务而已。不是活动。

1 个答案:

答案 0 :(得分:1)

Android为此目的提供通知。

如果通知不充分,您可以显示一条通知,该通知可以打开更多详细信息&#34;按下时使用标准活动或对话框主题活动进行屏幕显示。

https://developer.android.com/guide/topics/ui/notifiers/notifications.html