Skip to content

Commit 69d2306

Browse files
committed
ShareでFileProviderを使用するようにした。
1 parent dfa27f2 commit 69d2306

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

app/src/main/java/com/sentaroh/android/TinyPictureViewer3/ActivityMain.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3505,7 +3505,10 @@ public void onClick(View v) {
35053505
mContext.getString(R.string.msgs_main_file_share_file_max_file_count_reached), "", null);
35063506

35073507
} else {
3508-
CommonUtilities.sharePictures(mContext, send_fp);
3508+
String e_msg=CommonUtilities.sharePictures(mContext, send_fp);
3509+
if (!e_msg.equals("")) {
3510+
mUtil.addDebugMsg(1,"E", "Share error="+e_msg);
3511+
}
35093512
}
35103513
}
35113514
}

app/src/main/java/com/sentaroh/android/TinyPictureViewer3/CommonUtilities.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,8 @@ public static String sharePictures(Context c, String[] send_pic_fp) {
145145
ArrayList<Uri> files = new ArrayList<Uri>();
146146

147147
for(String path : send_pic_fp) {
148-
File file = new File(path);
149-
SafFile3 sf=new SafFile3(c, path);
150-
Uri uri =sf.getUri();
148+
File lf = new File(path);
149+
Uri uri=FileProvider.getUriForFile(c, PACKAGE_NAME+".provider", lf);
151150
files.add(uri);
152151
}
153152
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, files);
@@ -161,15 +160,15 @@ public static String sharePictures(Context c, String[] send_pic_fp) {
161160
} else {
162161
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
163162
File lf=new File(send_pic_fp[0]);
164-
SafFile3 sf=new SafFile3(c, send_pic_fp[0]);
165163
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
166164
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
167-
Uri uri=sf.getUri();
165+
Uri uri=FileProvider.getUriForFile(c, PACKAGE_NAME+".provider", lf);
168166
intent.putExtra(Intent.EXTRA_STREAM, uri);
169167
intent.setType("image/*");
170168
try {
171169
c.startActivity(intent);
172170
} catch(Exception e) {
171+
e.printStackTrace();
173172
return "startActivity() failed at shareItem() for multiple item. message="+e.getMessage()+"\n"+getStackTraceElement(e);
174173
}
175174
}

app/src/main/java/com/sentaroh/android/TinyPictureViewer3/Constants.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ this software and associated documentation files (the "Software"), to deal
2727
public class Constants {
2828

2929
public static final String APPLICATION_TAG="TinyPictureViewer3";
30+
public static final String PACKAGE_NAME="com.sentaroh.android."+APPLICATION_TAG;
3031

3132
public static long SERIALIZABLE_VERSION_CODE=41L;
3233

0 commit comments

Comments
 (0)