openFileOutputからNullPointerExceptionが発生します。 context.getPackageName()= android、このコードはフレームワークです。 私はこの問題、文脈または何かを知らない... 誰も私を助けることができますか?連絡先アプリにopenFileOutput Androidでは、NullPointerException
-use
2月16日02:06:42.449:I/VCardImport(2255):vCardのキャッシュスレッドが実行を開始します。
2月16日02:06:42.449:E/VCardImport(2255):ファイル名:import_tmp_0.vcf
2月16日02:06:42.449:E/VCardImport(2255):ファイル:/データ/データ/ com.android.contacts /ファイル/ import_tmp_0.vcf
-Myソース、フレームワーク
2月16日01:11:00.525:E/PstContactCreator(549):ファイル名:
import_tmp_0.vcf02-16 01:11:00.525:W/ApplicationContext(549):ファイルディレクトリファイルを作成できません
2月16日01:11:00.525:E/PstContactCreator(549):ファイル:私はgetFileStreamPath、openFileOutputある関数を使用する場合
私の元のコンテキストimport_tmp_0.vcfは、 'アンドロイド' で、私は、ファイルを作成することはできません。私は文脈が問題を引き起こすと思う。私は問題の原因と問題の解決方法を知りたい。 context.getFileStreamPath(filename); context.openFileOutput(filename、Context.MODE_PRIVATE).getChannel(); 11:00.455:I/PstManagerService(549):
プライベートウリのcopyTo(最終ウリsourceUri、文字列のファイル名)にIOException {
Log.i(LOG_TAG, String.format("Copy a Uri to app local storage (%s -> %s)",
sourceUri, filename));
final Context context = mContext.get();
final ContentResolver resolver = context.getContentResolver();
ReadableByteChannel inputChannel = null;
WritableByteChannel outputChannel = null;
Uri destUri = null;
try {
inputChannel = Channels.newChannel(resolver.openInputStream(sourceUri));
destUri = Uri.parse(context.getFileStreamPath(filename).toURI().toString());
outputChannel = context.**openFileOutput**(filename, Context.MODE_PRIVATE).getChannel();
final ByteBuffer buffer = ByteBuffer.allocateDirect(8192);
while (inputChannel.read(buffer) != -1) {
buffer.flip();
outputChannel.write(buffer);
buffer.compact();
}
buffer.flip();
while (buffer.hasRemaining()) {
outputChannel.write(buffer);
}
} finally {
if (inputChannel != null) {
try {
inputChannel.close();
} catch (IOException e) {
Log.w(LOG_TAG, "Failed to close inputChannel.");
}
}
if (outputChannel != null) {
try {
outputChannel.close();
} catch(IOException e) {
Log.w(LOG_TAG, "Failed to close outputChannel");
}
}
}
return destUri;
}
02から16 01をスロー
02から16を起動onsetrecordcmd 01:11:00.455:I/PstManagerService(549):f.exists
2月16日01:11:00.455:I/PstManagerService(549):11:00.465 creteNewFile
2月16日01の後:W/PstContactクリエイター(549):pst contact start!
2月16日01:11:00.465:E/PstContactCreator(549):ファイル名:import_tmp_0.vcf
2月16日01:11:00.465:ApplicationContextの/ W(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.475:E/PstContactCreator(549):ファイル:import_tmp_0.vcf
2月16日01:11:00.475:私は/ PstContactCreatorは、(549):にウリをコピーしますアプリローカルストレージ (ファイル:///cache/pst_contact_r.tmp - > import_tmp_0.vcf)
2月16日01:11:00.475:I/PstContactCreator(549):11:00.475:111
02から16 01 dcshin E/PstContactCreator(549):inputChannel: java.nio.channels.Channels $ InputStreamChannel @ 419ca7a8
02-16 01:11:00475:I/PstContactCreator(549):11:00.485:222
2月16日01 dcshinのApplicationContext/W(549):ファイルディレクトリファイルを作成できません
2月16日01:11:00.495: E/PstContactCreator(549):destUri:ファイル:
02から16 01 /import_tmp_0.vcf:11:00.495:I/PstContactCreator(549):333
02から16 01 dcshin:11:00.495: E/PstContactCreator(549):getPackageName:android
02-16 01:11:00.495:E/PstContactCreator(549):getPackag eCodePath:ヌル
2月16日01:11:00.505:E/PstContactCreator(549):getPackageResourcePath:ヌル
2月16日01:11:00.505:W/ApplicationContextの(549):ファイルを作成できません。ディレクトリファイル
2月16日01:11:00.505:E/PstContactCreator(549):java.lang.NullPointerExceptionが
2月16日01:11:00.505:I/PstContactCreator(549):完成キャッシュvCardを。
2月16日01:11:00.515:I/PstManagerService(549):11:00.515:
02から16 01を起動onsetrecordcmd I/PstManagerService(549):f.exists
02 -16 01:11:00.515:I/PstManagerService(549):after creteNewFile
02-16 01:11:00.525:W/PstContactCreator(549):pst contact start!
2月16日01:11:00.525:E/PstContactCreator(549):ファイル名:import_tmp_0.vcf
2月16日01:11:00.525:ApplicationContextの/ W(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.525:E/PstContactCreator(549):ファイル:import_tmp_0.vcf
2月16日01:11:00.525:私は/ PstContactCreatorは、(549):にウリをコピーしますアプリローカルストレージ (ファイル:///cache/pst_contact_r.tmp - > import_tmp_0.vcf)
2月16日01:11:00.525:I/PstContactCreator(549):11:00.525:111
02から16 01 dcshin E/PstContactCreator(549):inputChannel: java.nio.channels.Channels $ InputStreamChannel 419b0018
2月16日01 @:11:00.525:I/PstContactCreator(549):11:00.525:222
2月16日01 dcshin W/ApplicationContextの(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.525:E/ThermalDaemon(2916):最大CPU [1]周波数918000キロヘルツ
2月16日01:11:00.525:E/PstContactCreator(549):destUri:ファイル:11:
02から16 01 /import_tmp_0.vcf 00.525:I/PstContactCreator(549):333
dcshin02-16 01:11:00。525:E/PstContactCreator(549):getPackageName:アンドロイド
2月16日01:11:00.525:E/PstContactCreator(549):getPackageCodePath:ヌル
2月16日01:11:00.525:E/PstContactCreator(549):getPackageResourcePath:ヌル
2月16日01:11:00.525:ApplicationContextの/ W(549):11:00.525:E/PstContactCreatorファイルディレクトリファイル
2月16日01を作成することができません。 (549):java.lang.NullPointerException
02-16 01:11:00.525:I/P stContactCreator(549):vCardのキャッシュが終了しました。
2月16日01:11:00.535:I/PstManagerService(549):11:00.535:
02から16 01を起動onsetrecordcmd I/PstManagerService(549):f.exists
02 -16 01:11:00.535:I/PstManagerService(549):after creteNewFile
02-16 01:11:00.535:W/PstContactCreator(549):pst contact start!
2月16日01:11:00.535:E/PstContactCreator(549):ファイル名:import_tmp_0.vcf
2月16日01:11:00.535:ApplicationContextの/ W(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.535:E/PstContactCreator(549):ファイル:import_tmp_0.vcf
2月16日01:11:00.535:私は/ PstContactCreatorは、(549):にウリをコピーしますアプリローカルストレージ (ファイル:///cache/pst_contact_r.tmp - > import_tmp_0.vcf)
2月16日01:11:00.535:I/PstContactCreator(549):11:00.535:111
02から16 01 dcshin E/PstContactCreator(549):inputChannel: java.nio.channels.Channels $ InputStreamChannel 414d6ca8
2月16日01 @:11:00.535:I/PstContactCreator(549):11:00.535:222
2月16日01 dcshin W/ApplicationContextの(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.545:E/PstContactCreator(549):destUri:ファイル:
/import_tmp_0.vcf2月16日01:11:00.545:I/PstContactCreator(549):11:333
02から16 01 dcshin 00.545:E/PstContactCreator(549):getPackageName:アンドロイド
2月16日01:11:00.545:E/PstContactCreator(549):getPackageCodePath:ヌル
2月16日01:11:00.545:E/PstContactCreator(549):getPackageResourcePath:ヌル
2月16日1時11分: 00.545:W/ApplicationContext(549):ファイルディレクトリファイルを作成できません
02-16 01:11:00.545:E/PstContactCreator(549):java.lang。NullPointerException
02-16 01:11:00.545:I/PstContactCreator(549):vCardをキャッシュし終えました。
2月16日01:11:00.545:I/PstManagerService(549):11:00.545:
02から16 01を起動onsetrecordcmd I/PstManagerService(549):f.exists
02 -16 01:11:00.555:I/PstManagerService(549):after creteNewFile
02-16 01:11:00.555:W/PstContactCreator(549):pst contact start!
2月16日01:11:00.555:E/PstContactCreator(549):ファイル名:import_tmp_0.vcf
2月16日01:11:00.555:ApplicationContextの/ W(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.555:E/PstContactCreator(549):ファイル:import_tmp_0.vcf
2月16日01:11:00.555:私は/ PstContactCreatorは、(549):にウリをコピーしますアプリローカルストレージ (ファイル:///cache/pst_contact_r.tmp - > import_tmp_0.vcf)
2月16日01:11:00.555:I/PstContactCreator(549):11:00.555:111
02から16 01 dcshin E/PstContactCreator(549):inputChannel: java.nio.channels.Channels $ InputStreamChannel 41a20ff8
2月16日01 @:11:00.555:I/PstContactCreator(549):11:00.555:222
2月16日01 dcshin W/ApplicationContextの(549):できないファイルを作成するディレクトリファイル
2月16日01:11:00.555:E/PstContactCreator(549):destUri:ファイル:
/import_tmp_0.vcf2月16日01:11:00.555:I/PstContactCreator(549):11:333
02から16 01 dcshin 00.555:E/PstContactCreator(549):getPackageName:アンドロイド
2月16日01:11:00.555:E/PstContactCreator(549):getPackageCodePath:ヌル
2月16日01:11:00.555:E/PstContactCreator(549):getPackageResourcePath:ヌル
2月16日1時11分: 00.555:W/ApplicationContext(549):ファイルディレクトリファイルを作成できません
02-16 01:11:00.555:E/PstContactCreator(549):java.lang.NullPointerException
02-16 01:11:00.555:I/PstContactCreator(549):vCardのキャッシュが終了しました。
2月16日01:11:00.565:I/DiagJNIInterface(1791):11:00.565:メッセージ
02から16 01を送信するように行くD/ShutdownThread(549):シャットダウン を開始する通知スレッドlongPressBehavior = 1 02-16 01:11:00.615:I/ShutdownThread(549):シャットダウンブロードキャストを送信中...
私のソースは。context.getPackageName()=アンドロイド。フレームワークフレームワークであり、許可が必要なのでしょうか? – user1212704
いいえ、私はあなたの新しいcatlogを投稿して、まだそこには何らかのエラーが残っていると思われます。 –
投稿するにはログインする必要がありますLogcatが追加されました – user1212704