小编Lui*_*rit的帖子

如何解决 API 33 中已弃用的 queryIntentActivities

我在使用 API33 的 Android Studio 中遇到了奇怪的行为。在下面的代码中,

Intent chooser = Intent.createChooser(sharingIntent, filename);
List<ResolveInfo> resInfoList = context.getPackageManager().queryIntentActivities(chooser, android.content.pm.PackageManager.MATCH_DEFAULT_ONLY);
Run Code Online (Sandbox Code Playgroud)

我正进入(状态queryIntentActivities(Intent,int) in PackageManager has been deprecated

在文档中,它说:此方法在 API 级别 33 中已弃用。 Use queryIntentActivities(android.content.Intent, android.content.pm.PackageManager.ResolveInfoFlags) instead.

我尝试Intent用进行更改android.content.Intent,但遇到了同样的问题。PackageManager.MATCH_DEFAULT_ONLY是可能的标志值之一,所以我不明白这个错误试图告诉我什么......

android deprecated android-studio

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

Android studio 不一致的信息、建议和升级

每次我需要在 Android studio 中进行升级时,我都会遇到问题。这是最后一个(gradle 8.1.0,SDK 33,目标和编译版本为 33,全部安装并工作正常)。

检查现在给我

不针对最新版本的 Android

然后我将 和 都更改targetSdkVersioncompileSdk34,然后说(在检查中出现 gradle 错误之后):

看起来您刚刚在编辑器中将 targetSdkVersion 从 33 编辑为 34。请务必查阅有关由此导致的行为变化的文档。Android SDK 升级助手可以帮助安全迁移。

然后我运行 Android SDK Upgrade Assistant,并没有提及升级到 34。

尽管如此,我的项目还是以目标 34 构建。然而,Build 告诉我:

强烈建议您更新项目以使用已使用compileSdk = 34进行测试的较新的Android Gradle插件。

然后我尝试通过运行来升级 gradle,AGP upgrade assistant它说 gradle 8.1 是最新的,尽管事实上已经有 gradle 8.2.1。

以高效的方式使用 Android Studio 是相当困难的。

我究竟做错了什么?我该如何处理所有这些不一致的情况?我是否应该等待软件在检查之外警告我某些更新?

编辑

第二个问题,即使是 33:

检查给我:

比 1.7.0-alpha02 更新的 androidx.appcompat:appcompat 版本可用:1.7.0-alpha03

我更改为 alpha03,尝试构建,然后失败:

依赖项“androidx.appcompat:appcompat-resources:1.7.0-alpha03”需要依赖它的库和应用程序针对版本 34 或更高版本的 Android API 进行编译。

但它不允许我升级到 34...我发现的唯一解决方案是保留旧的 alpha02 并忽略检查。

android upgrade incompatibility gradle android-studio

19
推荐指数
1
解决办法
6887
查看次数

W/libEGL:EGLNativeWindowType 断开连接失败

我在 Android logcats 中看到大量以下形式的警告

 W/libEGL: EGLNativeWindowType 0x72543469d0 disconnect failed
Run Code Online (Sandbox Code Playgroud)

无需进一步解释。为什么是这样?谷歌上没有找到任何有用的东西。Android 11 设备。不幸的是,我无法提供更多细节。

  10:42:46.662 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: release : mNativeObject = 486206861488 - Surface(name=Surface(name=be52245 StatusBar)/@0x1380023 - animation-leash)/@0x9c54a2e
  10:42:46.662 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: nativeRelease nativeObject s[486206861488]
  10:42:46.662 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: nativeRelease nativeObject e[486206861488]
  10:42:46.716 5720-6276/com.floritfoto.apps.xvf W/libEGL: EGLNativeWindowType 0x72543469d0 disconnect failed
  10:42:46.725 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: release : mNativeObject = 486206642976 - Surface(name=null)/@0x32ec9cf
  10:42:46.725 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: nativeRelease nativeObject s[486206642976]
  10:42:46.725 5720-5720/com.floritfoto.apps.xvf I/SurfaceControl: nativeRelease nativeObject e[486206642976]
Run Code Online (Sandbox Code Playgroud)

android warnings logcat

7
推荐指数
0
解决办法
4419
查看次数

Java和Android:如何用Intent打开几个文件?

我确信这是一个微不足道的问题,但我没有找到答案.

我正在制作一个Android应用程序,我想从中打开显示多个图像的图像查看器.我知道如何只使用一个图像:

    Intent intent = new Intent();  
    intent.setAction(android.content.Intent.ACTION_VIEW);
    File file1 = new File("/mnt/sdcard/photos/20397a.jpg");
    intent.setDataAndType(Uri.fromFile(file1), "image/jpg");
    startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是如何将几个图像传递给观众?

谢谢!!L.

java android android-intent

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

屏幕关闭时如何防止媒体播放器停止?

我在一个Music类中的媒体播放器从另一个辅助节点调用Activity.它工作正常.

但是当屏幕熄灭时(通过超时或按钮),音乐停止播放,当回来并尝试关闭活动时,程序进入"应用程序无响应",因为IllegalStateException在查询时如此mediaplayer.isPlaying().

如何在屏幕关闭时阻止媒体播放器停止?

它必须通过服务?

假设答案是肯定的,我试图将Music类转换为服务(见下文).我也加入<service android:enabled="true" android:name=".Music" />Manifest.xml,我正在调用这样的Music类:

startService(new Intent(getBaseContext(), Music.class));
Music track = Music(fileDescriptor);
Run Code Online (Sandbox Code Playgroud)

主Activity中只有2个新行startService(new Intent(getBaseContext(), Music.class));stopService(new Intent(getBaseContext(), Music.class));,以及相应的导入.

但现在我得到InstantiationException错误,因为can't instantiate class在尝试启动服务时.我错过了什么?

这是例外:

E/AndroidRuntime(16642): FATAL EXCEPTION: main
E/AndroidRuntime(16642): java.lang.RuntimeException: Unable to instantiate service com.floritfoto.apps.ave.Music:                                                                             java.lang.InstantiationException: can't instantiate class com.floritfoto.apps.ave.Music; no empty constructor                                                                   
E/AndroidRuntime(16642):    at android.app.ActivityThread.handleCreateService(ActivityThread.java:2249)
E/AndroidRuntime(16642):    at android.app.ActivityThread.access$1600(ActivityThread.java:127)
E/AndroidRuntime(16642):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213)
E/AndroidRuntime(16642):    at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(16642): …
Run Code Online (Sandbox Code Playgroud)

android screen media-player instantiationexception

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

Android中的条件编译?

Android有任何类型的条件编译吗?

我不得不为Android 3(API 11)制作我的项目,因为ExifInterface在Android 2.3(API 10)中几乎没有任何有用的属性,尽管它出现在API 5(!! ??)中.我不想将我的应用程序限制为ICS用户.

谢谢!

compiler-construction conditional android exif

6
推荐指数
2
解决办法
6384
查看次数

Genymotion可以使用快照吗?

__CODE__使用保存的快照时,可以非常快速地打开habillity.是否__CODE__能够使用这些?尝试使用__CODE__还原已保存状态后,我遇到兼容性状态问题.

我无法在Google上得到答案,如果这是众所周知的,那就很抱歉.

snapshot genymotion

4
推荐指数
1
解决办法
1798
查看次数

为什么我的OnLongClickListener不起作用?

当我对它进行长按时,我想要显示图片的EXIF.所以我实现了这个:

    picture.setOnLongClickListener(new OnLongClickListener() { 
        public boolean onLongClick(View v) {
            ...
            return true;
        }
    });
Run Code Online (Sandbox Code Playgroud)

问题是代码没有执行.我添加android:longClickable="true"到xml中,没有成功.

有趣的是,它适用于它OnClick,但它不适用于OnLongClick......也许它与我的图片是ImageView的扩展和(非常好!)类TouchImageView在这里有关:

https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/example/touch/TouchImageView.java

我究竟做错了什么??

谢谢!!

android imageview onlongclicklistener

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

在自动旋转时更改布局

我想制作一个有两个部分的垂直布局的图片库:顶部的图像和下面的水平可滚动图标.我知道怎么做.

但我也想要,当自动旋转时,图标保持在右侧.也就是说,我希望将垂直布局更改为水平布局,将水平滚动条更改为垂直布局. 

这该怎么做?任何线索/链接将不胜感激.

谢谢!

L.

layout android screen-rotation

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

其中:ListView.setOnItemClickListener或TextView.setOnClickListener?

我有一个ListView只有一个自定义适配器,TextView我想为它设置一个点击监听器.

我应该选择哪一个:ListView.setOnItemClickListener在自定义适配器之外,或TextView.setOnClickListener在自定义适配器内getView()?为什么?

谢谢!

L.

android adapter onclicklistener

0
推荐指数
1
解决办法
501
查看次数