我正试图通过我的服务显示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" />
还有什么我可以用来通过我的服务显示我的文字吗?我不想使用此权限,我也希望它通过服务而已。不是活动。
答案 0 :(得分:1)
Android为此目的提供通知。
如果通知不充分,您可以显示一条通知,该通知可以打开更多详细信息&#34;按下时使用标准活动或对话框主题活动进行屏幕显示。
https://developer.android.com/guide/topics/ui/notifiers/notifications.html