2
現在、画像を共有するために「共有」ボタンをクリックすると、Androidアプリケーション自体で呼び出される共有インテントを作成しようとしています。しかし、Androidのヌガーでどのように共有インテント機能に変更して、私はこの行にNullPointerExceptionが取得しています:NullPointerExceptionがAndroid Nougatで共有されている
Uri uImageFile = FileProvider.getUriForFile(DetailActivity.this, DetailActivity.this.getApplicationContext().getPackageName(), imageFile);
これは私が受信したエラーだった:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:584)
at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:558)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400)
ここでの完全なコードです私のシェア意向方法:
private void shareIntent() {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/jpg");
File imageFile = new File(data.get(pos).getUrl());
Uri uImageFile = FileProvider.getUriForFile(DetailActivity.this, DetailActivity.this.getApplicationContext().getPackageName(), imageFile);
sharingIntent.putExtra(Intent.EXTRA_STREAM, uImageFile);
startActivity(Intent.createChooser(sharingIntent, getResources().getText(R.string.share_to)));
}
data.get(pos).getUrl()
は、OU、私はそれがParcelable
を実装して作られたカスタムクラスのURLを返し、それを印刷するときトン、それは次のようなディレクトリを返します。 "/storage/emulated/0/Pictures/primitive/Primitive-79538313.jpg"
はあなたが提供することができます任意の助けをありがとう!
アプリは外部ストレージにアクセスする権限を持っていますか? – Xenolion
はい、私はプログラムに次の権限を与えました: –
Rahooligan