Я запускаю свое приложение на двух разных устройствах Android. Первый является Arnova 9 G2 Tablet и второй Сони Xperia P. В планшете Arnova мое приложение успешно выполнен, но в Sony Xperia P телефон, LogCat показывает мне следующее сообщение об ошибке:Запуск приложения Android на разных устройствах
/data/data/com.example.androidjnetpcaptest/interfaces: open failed: EACCES (Permission denied) FATAL EXCEPTION: main java.lang.NullPointerException at com.example.androidjnetpcaptest.InterfacesFragment.onCreateView(InterfacesFragment.java:35)
Мой манифест XML файл:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.androidjnetpcaptest"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.pemission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/app_name" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.Default" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".InformationsActivity"
android:theme="@android:style/Theme.Holo"
android:label="@string/app_name" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.Default" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
А класс InterfacesFragment является:
public class InterfacesFragment extends Fragment
{
private Scanner inputStream = null;
private TextView interfacesTextView = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
try
{
inputStream = new Scanner(new FileInputStream("/data/data/com.example.androidjnetpcaptest/interfaces"));
}
catch (FileNotFoundException e)
{
Log.e("InterfacesFragment_ERROR: ", e.getMessage());
}
String lines = "";
while (inputStream.hasNextLine())
{
lines = lines + inputStream.nextLine() + "\n";
}
inputStream.close();
final ProgressDialog ringProgressDialog = ProgressDialog.show(getActivity(), "Please wait ...", "Finding interfaces ...", true);
ringProgressDialog.setCancelable(true);
new Thread(new Runnable()
{
@Override
public void run()
{
try
{
Thread.sleep(4000);
}
catch (Exception e)
{
}
ringProgressDialog.dismiss();
}
}).start();
View rootView = inflater.inflate(R.layout.interfaces, container, false);
interfacesTextView = (TextView) rootView.findViewById(R.id.interfacesTextView);
interfacesTextView.setText(lines);
interfacesTextView.setMovementMethod(new ScrollingMovementMethod());
return rootView;
}
}
Не могли бы вы рассказать, какая строка номера 35 в InterfacesFragment? – Keshav
В InterfacesFragmentClass строка: while (inputStream.hasNextLine()) –
Возможно, вам нужно добавить разрешение на чтение/чтение: ' ' в манифест. –