小编Nan*_*noc的帖子

从ACTION_PICK共享文件uri

我试图制作一个应用程序,要求用户选择一个图像文件,然后通过意图发送到另一个应用程序(在这种情况下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)

android android-intent whatsapp android-sharing

9
推荐指数
1
解决办法
492
查看次数

将UIImage调整为UIImageView

我试图将图像放入uiimageview,图像下载并加载dinamically,并且只有一个分辨率可用于ios和Android应用程序.

因此,我需要图像来保持纵横比和比例宽度,我将UIImageView内容模式设置为 UIViewContentModeScaleAspectFill,但它将图像居中,因此它会从屏幕上移出顶部和底部,图像将被设计为底部是不必要的.

如何将图像对齐左上角?

并且UIImageView能为我扩展到宽度吗?或者我该怎么办?

提前致谢.

编辑:

我尝试过setcliptobounds将图像剪切为图像视图大小,这不是我的问题.

UIViewContentModeTopLeft工作得很好,但现在我无法申请UIViewContentModeScaleAspectFill,或者我可以申请两者吗?

uiimageview ios

6
推荐指数
1
解决办法
8243
查看次数

Android Google地图上缩放的行为不正确

我有一个奇怪的问题谷歌地图为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.

android google-maps

5
推荐指数
1
解决办法
2791
查看次数

处理后退按钮Windows 8.1 Universal app

我正在将我的应用程序从Windows Phone 8 Silverlight更新到Windows 8.1 RT(我想这就是那个).

我刚刚创建了我的第二页,当我转到并按下后退按钮时,它会退出我的应用程序,而不是返回到第一页.

我不知道为什么会发生这种情况,默认行为会持续到最后一页?

我找不到如何覆盖后退按钮事件来Frame.GoBack()拨打电话.

这是一个开发预览错误还是我错过了什么?

windows-runtime windows-phone-8.1 win-universal-app

3
推荐指数
1
解决办法
4175
查看次数

在设备上创建位图时内存不足

我有高分辨率图像的问题.

我使用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)

android bitmap out-of-memory

2
推荐指数
1
解决办法
2849
查看次数

无法识别的选择器发送到我自己的按钮类的实例

我是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)

objective-c ios

-1
推荐指数
1
解决办法
877
查看次数