Java 仅在Android中共享所选图像
如何用用户选择的特定id替换Java 仅在Android中共享所选图像,java,android,android-intent,share,Java,Android,Android Intent,Share,如何用用户选择的特定id替换R.id.ic_启动器。 我已经创建了一个应用程序,它代表一些图像的网格视图,然后在用户选择后,它选择特定的图像,然后一个共享菜单按钮将图像共享到社交应用程序。 但错误在于,每当选择任何图像并将其共享给任何应用程序时,它只会发送默认的启动器图标,即ic_launcher.png。 我的代码如下所示: FullImageActivity.java } 这是我实现共享方法的地方,这是我发送defautlic_launcher.png而不是所选图像的代码。 此外,我将所有图
R.id.ic_启动器
。
我已经创建了一个应用程序,它代表一些图像的网格视图,然后在用户选择后,它选择特定的图像,然后一个共享菜单按钮将图像共享到社交应用程序。
但错误在于,每当选择任何图像并将其共享给任何应用程序时,它只会发送默认的启动器图标,即ic_launcher.png
。
我的代码如下所示:
FullImageActivity.java
}
这是我实现共享方法的地方,这是我发送defautlic_launcher.png而不是所选图像的代码。
此外,我将所有图像保存在.jpeg
格式的ImageAdapter.java类中
private Context mContext;
// Keeping all Images in array
public Integer[] mThumbIds = {
R.drawable.rage_0001,R.drawable.rage_0002,
对于所有使用权限和活动记录,我的AndroidManifest.XML都是这样
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
android:theme="@style/AppTheme" >
<activity
android:name="com.jai.desimeme.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<!-- FullImageActivity -->
<activity android:name="com.jai.desimeme.FullImageActivity" >
</activity>
<activity
android:name="com.jai.desimeme.About"
android:theme="@android:style/Theme.Dialog" >
</activity>
<activity
android:name="com.jai.desimeme.ShareActivity"
android:label="@string/title_activity_share" >
</activity>
</application>
告诉我在哪里我需要修改我的代码来正确工作,正如我上面提到的
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),drawable.ic_launcher);//launcher being saved to file
File sd = Environment.getExternalStorageDirectory();
String fileName = "test.png";
File dest = new File(sd, fileName);
try {
FileOutputStream out;
out = new FileOutputStream(dest);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这是您将启动程序映像保存到文件并共享该映像的部分我该如何处理此部分?初学者请参阅本教程BitmapFactory.decodeResource(getResources(),imageAdapter.mThumbIds[position]);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),drawable.ic_launcher);//launcher being saved to file
File sd = Environment.getExternalStorageDirectory();
String fileName = "test.png";
File dest = new File(sd, fileName);
try {
FileOutputStream out;
out = new FileOutputStream(dest);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}