在 android 中截图,然后在另一个 activity 中使用
take a screenshot in android then use it in another activity
所以我看到了很多关于如何截取屏幕截图并将其保存到外部存储的问题和答案,但我想知道的是在完成此操作后如何将其读入下一个 activity,
我下次打开应用程序时也会使用该图像,所以我认为捆绑包不够。
我知道这看起来很简单,可能很简单,在此先感谢。
您需要保存保存屏幕截图的文件位置,并在创建新 Activity 时将其作为字符串传递到 Intent 中。
然后您在新 activity 中重新打开图像文件。
你可以使用intent bundle在Activity之间传递截图的文件路径,你可以使用SharedPreferences来持久化下一次加载的路径。
将位图保存到外部存储器:
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
String path = file.getPath();
活动之间的传递路径:
intent.putExtra(PATH, path);
坚持:
SharedPreferences sp = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
sp.edit().putString(PATH, path).commit(); //save
sp.getString(PATH, null); //read
所以我看到了很多关于如何截取屏幕截图并将其保存到外部存储的问题和答案,但我想知道的是在完成此操作后如何将其读入下一个 activity,
我下次打开应用程序时也会使用该图像,所以我认为捆绑包不够。
我知道这看起来很简单,可能很简单,在此先感谢。
您需要保存保存屏幕截图的文件位置,并在创建新 Activity 时将其作为字符串传递到 Intent 中。
然后您在新 activity 中重新打开图像文件。
你可以使用intent bundle在Activity之间传递截图的文件路径,你可以使用SharedPreferences来持久化下一次加载的路径。
将位图保存到外部存储器:
FileOutputStream fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
String path = file.getPath();
活动之间的传递路径:
intent.putExtra(PATH, path);
坚持:
SharedPreferences sp = getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
sp.edit().putString(PATH, path).commit(); //save
sp.getString(PATH, null); //read