我有一个后台服务,当它收到一些内容时激活BroadcastReceiver
类。我想将其保存到外部目录中应用程序的路径,该路径通过调用Context.getExternalFilesDir()
(/sdcard/Android/data/com.example.app/)返回。但是,由于这种情况发生在后台,我没有上下文,因此我无法获得该路径。我绝对不希望硬编码路径,并希望在卸载应用程序时删除数据。我可以通过其他方式获得完整的路径吗?
答案 0 :(得分:5)
服务本身是您可以使用的上下文http://developer.android.com/reference/android/app/Service.html。
this.getExternalFilesDir()
关于服务。
答案 1 :(得分:3)
试试这个,
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
答案 2 :(得分:0)
如果您知道要读取的文件的地址,则不需要上下文。
String getKey(String filename) throws IOException {
// Read from file
String myStringFromFile= "";
BufferedReader br = new BufferedReader(new FileReader(filename));
String line;
while ((line = br.readLine()) != null) {
myStringFromFile+= line;
}
br.close();
return myStringFromFile;
}
其中fileName是路径。
String privatePem = "/sdcard/someFolder/someFile.txt";