我正在開發一個填充電子郵件模板並添加圖片的應用程序。我想按如下方式使用該應用程序:從圖庫中,我通過ACTION_SEND與我的應用程序共享圖像。我的應用做了一些處理,然後與附件共享一封電子郵件。轉發圖像URI意圖
現在我試圖簡單地得到圖像Uri並將其傳遞,但後來我得到一個SecurityException。
protected void onCreate(Bundle savedInstanceState) {
// Read the incoming intent
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
Uri imageUri;
if (Intent.ACTION_SEND.equals(action) && type != null) {
if (type.startsWith("image/")) {
imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
}
}
// Create the outgoing intent
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
if(imageUri != null){
emailIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
}
startActivity(Intent.createChooser(emailIntent, getString(R.string.chooserText)));
}
記錄:
02-12 14:07:11.196 10241-10241/? E/ResolverActivity: Unable to launch as uid 10156 package ***, while running in android:ui
java.lang.SecurityException: Uid 10156 does not have permission to uri 0 @ content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F19546/FORMAT_JPEG/778368258
什麼是做到這一點的正確方法?我曾嘗試設置標誌和權限,但我找不到如何完全做到這一點。
你是如何添加這些標誌和權限的?您正在開發哪個API版本(分鐘和目標)? – kazbeel