Questions tagged «android»

Android是Google的移动操作系统,用于对数字设备(智能手机,平板电脑,汽车,电视,Wear,Glass和IoT)进行编程或开发。对于与Android相关的主题,请使用特定于Android的标签,例如android-intent,android-activity,android-adapter等。对于与开发或编程无关但与Android框架相关的问题,请使用以下链接:https:// android.stackexchange.com。

22
Android 6.0多重权限
我知道Android 6.0拥有新的权限,我知道可以使用类似这样的名称 if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, PERMISSION_WRITE_STORAGE); } 今天,我看到了一个需要3个权限的Google应用:联系人,短信和摄像头。它正在制作第1-3页,并同时将它们一起调用以激活。 有人可以告诉我如何调用4个权限来同时激活短信,摄像头,联系人和存储吗? 示例(忘记了Google应用的名称:() 该应用需要短信,联系人和相机 该应用程序问我(并在第1-3页进行了对话框)激活短信,激活联系人,然后激活相机。所以这个谷歌应用程序一起调用了所有3个必需的权限,我的问题是我怎么能达到相同的权限?

9
Android O中弃用了NotificationCompat.Builder
将项目升级到Android O之后 buildToolsVersion "26.0.1" Android Studio中的Lint显示了以下通知构建器方法的不建议使用的警告: new NotificationCompat.Builder(context) 问题是: Android开发人员更新了描述NotificationChannel的文档,以支持Android O中的通知,并向我们提供了一个代码段,但已弃用了相同的警告: Notification notification = new Notification.Builder(MainActivity.this) .setContentTitle("New Message") .setContentText("You've received new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setChannelId(CHANNEL_ID) .build(); 通知概述 我的问题:还有其他用于构建通知的解决方案,并且仍然支持Android O吗? 我发现的解决方案是将通道ID作为Notification.Builder构造函数中的参数传递。但是此解决方案并非完全可重用。 new Notification.Builder(MainActivity.this, "channel_id")


6
在Android中从内存中保存和读取位图/图像
我要做的是将图像保存到手机的内部存储器中(不是SD卡)。 我该怎么做? 我已经将图像直接从相机获取到应用程序中的图像视图,并且一切正常。 现在,我想要的是将该图像从“图像视图”保存到我的android设备的内存中,并在需要时访问它。 谁能指导我该怎么做? 我对android有点陌生,所以,请提供详细的程序,不胜感激。

4
Android Studio:悬停时Javadoc为空
我最近从Eclipse迁移到Android Studio,并且很喜欢它。但是,我想念Eclipse的Javadoc on hover功能。 我按照此处的说明添加了功能,但是,我的徘徊者不包含Javadoc。如果我使用文档快捷方式Ctrl+ Shift+ Space,它将正确显示文档,但是,我真的希望它出现在工具提示中。 下面是我所看到的屏幕截图。显然,此方法上应该有一个Javadoc。 我在所有方法/变量上都看到了这一点。任何帮助表示赞赏。

27
为什么Android Studio报告“未注册URI”?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 12个月前关闭。 改善这个问题 因此,我尝试了Android Studio,因为我非常喜欢Resharper,并且注意到IDE内置了一些功能。现在创建了一个默认的新项目,我添加了一个新的布局文件,并想要更改现有的默认“ hello world”示例布局,并且在以下几行中出现“未注册URI”错误: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 我对默认生成的项目没有做任何其他事情。我遇到了另一个似乎相关的问题(Intellij Android项目模式URI是否未注册?),但只是忽略某些内容对我来说很奇怪。我实际上尝试过,但这导致RelativeLayout(可能还有所有其他与Android相关的东西)不再被识别(错误消息:“找不到元素'RelativeLayout'的声明”)。 关于如何解决此问题的任何想法?


11
创建一个用于分发的Android Jar库
我知道Android库项目,这些项目使您可以创建一个共享源项目,该项目可以根据需要插入到Android应用程序中。但是,这需要该来源可用。 我正在寻找一种构建和分发可以在其他Android项目(如传统JAR)中使用的闭源库的方法。这将需要使用Android编译器,因此它不是普通的Java JAR文件。FWIW,我不需要在JAR中嵌入资源/布局。 我看过http://andparcel.com/,但感觉像是一种解决方法,我宁愿使用Google“官方支持”的方法。另外,我需要确保我构建的JAR与Android SDK的旧/新版本兼容(即,我需要一种设置目标平台版本的方法,等等)。 最新的Android工具集是否允许创建/使用JAR二进制文件?您能否指出一些有关如何执行此操作的文档?
160 java  android  jar 

18
如何滚动到RecyclerView的底部?scrollToPosition不起作用
加载活动后,我想滚动到RecyclerView列表的底部。 GENERIC_MESSAGE_LIST = (ArrayList) intent.getExtras().getParcelableArrayList(ConversationsAdapter.EXTRA_MESSAGE); conversationView = (RecyclerView) findViewById(R.id.list_messages); conversationView.setHasFixedSize(true); conversationViewLayoutManager = new LinearLayoutManager(this); conversationView.setLayoutManager(conversationViewLayoutManager); conversationViewAdapter = new ConversationAdapter(GENERIC_MESSAGE_LIST, this); conversationView.setAdapter(conversationViewAdapter); conversationView.scrollTo(...)引发有关RecyclerView不支持的异常,并且conversationView.scrollToPosition(...)似乎无能为力。 在上面的代码块之后,我添加了 conversationView.scrollToPosition(GENERIC_MESSAGE_LIST.size() + 1) 这不起作用。中有30个元素GENERIC_MESSAGE_LIST。

24
“您无法安装此应用,因为其他用户已经在此设备上安装了不兼容的版本”
尝试从Play商店安装我自己的应用程序时,显示“您无法安装此应用程序,因为其他用户已在此设备上安装了不兼容的版本” 注意-我已经卸载了调试版本,还清除了我的缓存。仍然无法从Play商店安装它。 我的手机没有被植根,因此正如stackoverflow上的另一个类似答案所示,我无法使用根文件浏览器来清除数据。

6
为什么嵌套权重对性能不利?备择方案?
我编写了几个布局文件,在其中我使用该layout_weight属性在不同视图之间创建比率。 在某个时候,我开始收到有关嵌套权重的棉绒警告。 因此,我想知道为什么嵌套权重对性能不利,并且是否存在一种更有效的方法来在视图尺寸之间创建恒定比率,该比例可用于不同的屏幕尺寸,而无需指定很多尺寸dpi值在几个布局文件中(对于不同的屏幕尺寸,我是说)。 谢谢!

13
添加到后台堆栈后如何保持片段状态?
我写了一个虚拟活动,可以在两个片段之间切换。当您从FragmentA转到FragmentB时,FragmentA被添加到后台堆栈中。但是,当我返回FragmentA(按回去)时,会创建一个全新的FragmentA,并且它所处的状态会丢失。我感觉自己对这个问题也很满意,但是我提供了完整的代码示例来帮助解决问题: public class FooActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(android.R.id.content, new FragmentA()); transaction.commit(); } public void nextFragment() { final FragmentTransaction transaction = getFragmentManager().beginTransaction(); transaction.replace(android.R.id.content, new FragmentB()); transaction.addToBackStack(null); transaction.commit(); } public static class FragmentA extends Fragment { @Override public View onCreateView(LayoutInflater …



15
Android Studio中过时的Kotlin运行时警告
下载并安装了最新的Kotlin插件后,我收到了来自Android Studio的过时Kotlin运行时警告,告诉我: 您在'kotlin-stdlib-1.1.2'库中的Kotlin运行时版本为1.1.2,而插件版本为1.1.2-release-Studio2.3-3。应该更新运行时库,以避免兼容性问题。 我试图单击“ 更新运行时”按钮,但又收到另一条消息: 当前不支持Gradle项目的自动库版本更新。请手动更新您的build.gradle。 如何解决这个问题?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.