【发布时间】:2018-02-17 18:03:02
【问题描述】:
我有一个广播接收器类,我想使用我的方法“ReadInternalData”来读取我的应用程序中的内部数据,但我无法解决Cannot resolve method 'openFileInput(java.lang.String) 的问题)' 在 openFileInput 上!
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;
public class SmsBroadcastReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent){
//Some code here
}
//Some code here
public String ReadInternalData(String str){
String temp="";
try{
FileInputStream fin = openFileInput(str);
int c;
while( (c = fin.read()) != -1)
{
temp = temp + Character.toString((char)c);
}
} catch(Exception e)
{
e.printStackTrace();
}
return temp;
}
}
我尝试使用上下文:
FileInputStream fin = SmsBroadcastReceiver.openFileInput(str);
但它不起作用!
编辑:好的对不起,我虽然“SmsBroadcastReceiver”是一个上下文,但是,我的课程既不是服务活动,我想在我的应用程序中读取内部数据?我看不出有任何理由给我的问题打负分!
【问题讨论】:
-
BroadcastReceiver class 没有这个方法,所以更大的问题是为什么你认为这个代码应该工作。
-
而且您似乎没有在上面的代码中的任何地方使用上下文,即使您声明您尝试过。一旦你做开始使用上下文,还要检查参数的数量。
-
您可能会投票失败,因为您可以通过简单地查看 api 来回答您的问题,然后再询问您在哪里可以看到 SmsBroadcastReceiver 可以使用哪些方法,并且它没有从 Context 继承,实际上您在对该问题的第二条评论中收到了指向该 API 的链接,但没有解决它。
标签: java android android-context android-broadcastreceiver