我试图制作一个应用程序,要求用户选择一个图像文件,然后通过意图发送到另一个应用程序(在这种情况下Whatsapp,但这应该与其他应用程序一起使用)
我这样做是为了请求文件:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(
Intent.createChooser(intent, "Select a File to Upload"),
FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
这将返回"content://"URI,但在通过intent发送时:
if (isPackageExisted(whatsAppPackage)) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Some text");
sendIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
sendIntent.setType("image/*");
sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendIntent.setPackage(whatsAppPackage);
startActivity(sendIntent);
}else{
goToGooglePlay(whatsAppPackage);
}
Run Code Online (Sandbox Code Playgroud)
Whatsapp显示吐司说不支持文件格式,我可以在logcat上看到堆栈跟踪
java.lang.ClassCastException: android.net.Uri$StringUri cannot be cast to java.util.ArrayList
at android.os.Bundle.getParcelableArrayList(Bundle.java:838)
at android.content.Intent.getParcelableArrayListExtra(Intent.java:5405)
at com.whatsapp.ContactPicker.c(ContactPicker.java:12)
at com.whatsapp.ContactPicker.onCreate(ContactPicker.java:526)
at android.app.Activity.performCreate(Activity.java:6251)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java) …Run Code Online (Sandbox Code Playgroud) 我试图将图像放入uiimageview,图像下载并加载dinamically,并且只有一个分辨率可用于ios和Android应用程序.
因此,我需要图像来保持纵横比和比例宽度,我将UIImageView内容模式设置为
UIViewContentModeScaleAspectFill,但它将图像居中,因此它会从屏幕上移出顶部和底部,图像将被设计为底部是不必要的.
如何将图像对齐左上角?
并且UIImageView能为我扩展到宽度吗?或者我该怎么办?
提前致谢.
编辑:
我尝试过setcliptobounds将图像剪切为图像视图大小,这不是我的问题.
UIViewContentModeTopLeft工作得很好,但现在我无法申请UIViewContentModeScaleAspectFill,或者我可以申请两者吗?
我有一个奇怪的问题谷歌地图为Android.
一切正常,但是当用户使用地图开始活动时,我想放大并将相机放在指定的位置.
这是我的代码:
LatLng l = new LatLng(40.446951,-3.693295);
defaultPos = mapa.addMarker(new MarkerOptions().position(new LatLng(l.latitude, l.longitude)).icon(BitmapDescriptorFactory.defaultMarker((float) 250.0)));
Log.d("mappoi","zoom to");
mapa.animateCamera(CameraUpdateFactory.zoomTo(17.0f));
mapa.animateCamera(CameraUpdateFactory.newLatLng(l));
Run Code Online (Sandbox Code Playgroud)
因此,正如您所看到的,即时创建一个新的LatLng对象并使用它在地图上创建标记,然后我想将相机置于该位置并放大.
我不知道为什么,但缩放仅在第一次执行时才起作用,所以当我全新安装我的应用程序时它工作正常,但如果我返回并重新启动活动,它不会做任何缩放并保持默认缩放级别,即使我关闭并重新启动我的应用程序它不再工作,只有当我卸载并重新安装它再次工作,但只有一次.
我不能想象什么是错的,如果它第一次工作,为什么不下一个呢?
谢谢你的帮助.
编辑:当我按下后退按钮时,我的活动被杀死,所以每次调用onCreate.
我正在将我的应用程序从Windows Phone 8 Silverlight更新到Windows 8.1 RT(我想这就是那个).
我刚刚创建了我的第二页,当我转到并按下后退按钮时,它会退出我的应用程序,而不是返回到第一页.
我不知道为什么会发生这种情况,默认行为会持续到最后一页?
我找不到如何覆盖后退按钮事件来Frame.GoBack()拨打电话.
这是一个开发预览错误还是我错过了什么?
我有高分辨率图像的问题.
我使用nodpi-drawable文件夹为1280x720图像,并使用此代码来缩放它.
public static Drawable scaleDrawable(Drawable d, int width, Activity cxt)
{
BitmapDrawable bd = (BitmapDrawable)d;
double oldWidth = bd.getBitmap().getWidth();
double scaleFactor = width / oldWidth;
int newHeight = (int) (d.getIntrinsicHeight() * scaleFactor);
int newWidth = (int) (oldWidth * scaleFactor);
Drawable drawable = new BitmapDrawable(cxt.getResources(),MainScreen.getResizedBitmap(bd.getBitmap(),newHeight,newWidth));
BitmapDrawable bd2 = (BitmapDrawable)drawable;
return drawable;
}
public static Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) {
int width = bm.getWidth();
int height = bm.getHeight();
float scaleWidth = ((float) newWidth) / width;
float scaleHeight = …Run Code Online (Sandbox Code Playgroud) 我是Objective-C和iOS的新手.我遇到了问题:
我正在动态创建按钮,我需要在按钮上存储一些数据,以便在onClick方法上使用它.我有一个用于存储数据的类,当尝试将该数据存储在按钮上时问题就开始了.
这是要存储的数据类.h:
@interface MenuItem : NSObject
{
NSString *name;
NSString *action;
NSString *xml;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *action;
@property (nonatomic, retain) NSString *xml;
@end
Run Code Online (Sandbox Code Playgroud)
这个类没有任何方法.
这是我的按钮类:
@interface MyButton : UIButton
{
MenuItem * buttonInf;
}
@property (nonatomic, retain) MenuItem * buttonInf;
@end
Run Code Online (Sandbox Code Playgroud)
将数据放入该字段时遇到问题:
MyButton * button = [MyButton buttonWithType:UIButtonTypeRoundedRect];
button.buttonInf = buttoninf;
Run Code Online (Sandbox Code Playgroud)
我试过做:
[button setButtonInf:buttoninf]
Run Code Online (Sandbox Code Playgroud)
制作那个制定者,但结果相同,总是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [UIRoundedRectButton setButtonInf:]: unrecognized selector sent to …Run Code Online (Sandbox Code Playgroud)