Questions tagged «android»

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



6
无法启动服务意图
我有一个服务班。我将此类导出到jar,并将jar嵌入到客户端应用程序中。 需要时,我调用服务类。当我尝试执行此操作时,出现以下错误: Unable to start service Intent {comp={com.sample.service/com.sample.service.serviceClass}} : not found 除了服务类外,我还有其他类,可以访问(创建该类的对象)在同一jar内。 我觉得我错过了配置或清单中的某些内容。 请帮我识别一下。我的代码如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Intent intent = new Intent () ; intent.setClassName("com.sample.service" ,"com.sample.service.serviceClass") ; this.startService(intent) ; // when I call this line I get the message... // binding other process continue here } 客户端manifest.xml …

12
片段中的MapView(蜂窝)
现在,最终的SDK已与Google API结合使用-用MapView创建Fragment的最佳方法是什么?MapView需要MapActivity才能正常工作。 让Activity管理Fragments继承自MapActivity(糟糕的解决方案,因为它违背了Fragments自包含的想法),并且无法使用基于XML的常规布局。我在MapActivity.setupMapView()中得到了NullPointerException: E / AndroidRuntime(597):由以下原因引起:java.lang.NullPointerException E / AndroidRuntime(597):位于com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:289) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:264) E / AndroidRuntime(597):位于com.google.android.maps.MapView。(MapView.java:247) 我的第二个想法是以编程方式创建MapView,并将关联的活动(通过getActivity())作为上下文传递给MapView构造函数。不起作用: E / AndroidRuntime(834):原因:java.lang.IllegalArgumentException:只能在MapActivity实例内部创建MapView。 E / AndroidRuntime(834):位于com.google.android.maps.MapView。(MapView.java:291) E / AndroidRuntime(834):位于com.google.android.maps.MapView。(MapView.java:235) E / AndroidRuntime(834):位于de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900) E / AndroidRuntime(834):位于android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978) E / AndroidRuntime(834):位于android.app.Activity.onCreateView(Activity.java:4090) E / AndroidRuntime(834):位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664) 确实应该有像MapFragment这样的东西来处理MapView我需要的后台线程...那么,目前这样做的最佳实践是什么? 感谢德国瓦伦丁先生

9
Android:使用动画显示/隐藏视图
我一直在这里查看许多Google搜索结果/问题,以确定如何通过垂直动画显示/隐藏视图,但是我似乎找不到一个完全正确或不太模糊的视图。 我有一个布局(撤消栏),该布局在另一个布局之下,在多个其他小部件之上;撤消栏应根据情况垂直滑动打开和关闭。 目前,我现在所做的所有操作都是将视图设置为可见或消失。

5
Gradle:多个项目变体:myLib与使用者属性匹配
我写了一个图书馆myLib用途RemoteMessage从Firebase,应用程序本身也使用Firebase。 使用gradle 4.7。在4.4.1中也面临这一问题。 如何解决? project.gradle buildscript { repositories { google() jcenter() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' classpath 'com.google.gms:google-services:3.3.0' } } allprojects { repositories { google() jcenter() mavenCentral() mavenLocal() } } task clean(type: Delete) { delete rootProject.buildDir } app.gradle apply plugin: 'com.android.application' android { compileSdkVersion 27 defaultConfig { applicationId "com.test.app" …

4
如何使用“确定”按钮添加消息框?
我想显示一个带有“确定”按钮的消息框。我使用以下代码,但会导致带有参数的编译错误: AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); dlgAlert.setMessage("This is an alert with no consequence"); dlgAlert.setTitle("App Title"); dlgAlert.setPositiveButton("OK", null); dlgAlert.setCancelable(true); dlgAlert.create().show(); 如何在Android中显示消息框?

7
libGDX中如何处理不同的宽高比?
我使用libGDX实现了一些屏幕,这些屏幕显然将使用ScreenlibGDX框架提供的类。但是,这些屏幕的实现仅适用于预定义的屏幕尺寸。例如,如果子图形用于640 x 480尺寸的屏幕(长宽比为4:3),则它在其他屏幕尺寸上将无法正常工作,因为子图形会与屏幕边界相称并且不会缩放到屏幕尺寸完全没有 而且,如果libGDX将提供简单的缩放比例,那么我所面临的问题仍然存在,因为这将导致游戏屏幕的宽高比发生变化。 在研究互联网之后,我遇到了讨论相同问题的博客/论坛。我已经实现了,到目前为止,它运行良好。但我想确认这是否是实现此目标的最佳选择,还是有更好的选择。下面的代码显示了我如何处理此合法问题。 论坛链接:http : //www.java-gaming.org/index.php? topic=25685.new public class SplashScreen implements Screen { // Aspect Ratio maintenance private static final int VIRTUAL_WIDTH = 640; private static final int VIRTUAL_HEIGHT = 480; private static final float ASPECT_RATIO = (float) VIRTUAL_WIDTH / (float) VIRTUAL_HEIGHT; private Camera camera; private Rectangle viewport; …


2
Android AudioRecord强制另一个流到MIC音频源
更新3:我已经与另一位开发人员建立了合作伙伴关系,我们似乎发现有人可以为此花很多钱。他们给我们发送了一个测试apk,它似乎有效。我们将继续购买源。我希望我们不会被骗。我一发现就会更新 更新2:仍在努力。经过更多痛苦的日子后,我现在认为没有什么幻想了,但他们只是在本机端使用AudioFlinger(请参阅链接)来调用AudioFlinger :: setParameters 我现在正在寻找如何编写一个简单的JNI来使用audio_io_handle_t ioHandle,const String8&keyValuePairs调用AudioFlinger :: setParameters 我知道keyValuePairs可以是什么,但不是关于audio_io_handle_t的线索 更新:我现在相信其他应用程序可能会在CAF中使用QCOM音频。见audio_extn_utils_send_audio_calibration在链接相同 和voice_get_incall_rec_snd_device在链接相同 我没有C / ++知识。如何确定是否可以从本机端调用这些方法?由于其他应用程序可以,因此必须有一种方法。 我每天至少要花5-6个小时来努力解决40余天。我不确定SO是否允许,但我也很乐意为正确答案捐款。 我有一个使用VOICE_CALL音频源的通话记录应用程序。尽管ASOP并未实现/授权它,但大多数制造商已经实现了VOICE_CALL,并且使用VOICE_CALL音频源的应用程序在许多设备上都能正常工作。直到Android 6。 Google使用Android 6更改了此行为。现在,打开VOICE_CALL音频源需要android.permission.CAPTURE_AUDIO_OUTPUT,该权限仅授予系统应用程序。 这实质上会停止通话录音,或者应该停止通话录音。好吧,它适用于我的和200多个其他通话记录应用程序,其中3个已经找到解决此限制的方法。 我一直在使用Android 6的许多不同手机上尝试这些应用程序,并发现它们在记录方式上的某些特征。 它们都使用Android AudioRecord类并打开MIC音频源。我也做; 但是在我的应用程序上,我只能从MIC而不是从对方获得音频。我发现告诉他们在开始录制之前或之后,他们正在发出某种系统调用。 查看以下日志表格,其中一个成功记录VOICE_CALL的应用程序之一,即使它使用MIC进行记录也是如此。看起来应用程序似乎是一些如何将VOICE_CALL音频源混入/路由/流/合并到MIC的方式。 - D/audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=1;routing=-2147483644 - D/PermissionCache: checking android.permission.MODIFY_AUDIO_SETTINGS for uid=10286 => granted (432 us) - D/audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=4;routing=-2147483584;format=1 - D/audio_hw_primary: select_devices: …

1
如何在Android中实现自定义可折叠工具栏?
使用本教程来实现“灵活空间”模式(带有折叠工具栏的模式)。 我正在尝试实现与Lollipop Contacts活动中类似的效果,该活动在开始时进入活动时,视图仅是图像标题的一部分: 然后,用户可以向下滚动图像下方的布局以显示更多布局,直到达到最大值为止: 在我的应用中,我无法使其正常运行。 发生的情况是,在进入活动时,图像标头以其最大大小,AppBarLayout的大小显示,就像上面的布局一样,并且与Lollipop Contacts活动不同,后者仅显示图像的一部分。 这是设置AppBarLayout的高度的代码(我希望屏幕的宽度为最大高度): int widthPx = getResources().getDisplayMetrics().widthPixels; AppBarLayout appbar = (AppBarLayout)findViewById(R.id.appbar); appbar.setLayoutParams(new CoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MATCH_PARENT, widthPx)); 这是设置RecyclerView的代码。使用scrollToPosition进行了尝试,认为它可以提升RecyclerView的视图,但它完全没有效果: mRecyclerView = (RecyclerView) findViewById(R.id.activity_profile_bottom_recyclerview); mRecyclerView.setHasFixedSize(true); // use a linear layout manager mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); // specify an adapter (see also next example) if(mAdapter == null){ mAdapter = new …



14
单击时如何更改Android中按钮的颜色?
我正在开发Android应用程序。我想将4个按钮水平放置在屏幕底部。在这4个按钮中,有2个按钮上面有图像。按钮的边框应为黑色,边框应尽可能细。当我单击按钮时,我希望按钮的背景应更改为蓝色而不更改边框的颜色,并且应将其保留一段时间。如何在Android中实现此方案?
81 android 


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.