我正在開發一個Android應用程序來進行相互調用。呼叫攔截部分工作正常!但是當我嘗試將電話號碼保存到文件中時,應用程序崩潰。我不是Android編程的專家。應用程序在插入文件時崩潰
這是我的Java類:
private class CallStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// called when someone is ringing to this phone
Toast.makeText(ctx,"Incoming: "+incomingNumber,
Toast.LENGTH_LONG).show();
ob.write(incomingNumber);
break;
}
OB是MainActivity的對象。 write()是MainActivity中的公共方法。我的MainActivity是如下: 公共類MainActivity擴展活動{
private boolean detectEnabled;
private TextView textViewDetectState;
private Button buttonToggleDetect;
private Button buttonExit;
public void write(String a) {
try {
File sdcard=getExternalFilesDir(null);
File directory=new File(sdcard.getAbsolutePath()+"/MyFiles");
directory.mkdir();
File file=new File(directory,"CALLS.txt");
FileOutputStream fout=new FileOutputStream(file);
OutputStreamWriter osw=new OutputStreamWriter(fout);
osw.append(a);
osw.close();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (NullPointerException e) {
e.printStackTrace();
}
什麼(精確)錯誤你得到?您是否在清單中設置了正確的權限? <使用權限的android:name =「android.permission.WRITE_EXTERNAL_STORAGE」/> – Lonzak