我在 Android 上有一个应用程序,它在系统启动时启动。有时互联网连接处于搜索模式,我设置了一个计时器来检查连接,如果找到则连接。我为 sd 卡做了同样的事情,因为它也处于准备模式。当系统启动和应用程序启动时,我在从 sd 卡读取文本文件时遇到问题,它从不从 sd 卡读取文本。当我稍后手动启动该应用程序时,它可以工作。这是我读取 sd 卡文件的代码。
if (isSDCardAvailable())
{
setTickerText();
}
else if(!isSDCardAvailable())
{
//pop up message
Toast toast=Toast.makeText(this, "Preparing SD card..", Toast.LENGTH_LONG);
toast.show();
//Run the sd card read process after 30 seconds
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run()
{
setTickerText();
}
}, 30000);
}
public void setTickerText()
{
File sdcard = Environment.getExternalStorageDirectory();
//Get the text file
File file = new File(sdcard,"TickerText.txt");
//Read text from file
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');
}
}
catch (IOException e) {
//You'll need to add proper error handling here
}
}