草庐IT

安卓 Lint 警告 : "Redundant array creation for calling varargs method"

我在我的Android项目中针对以下代码的newVoid[]{}部分收到上述Lint警告:newAsyncTask(){@OverrideprotectedvoidonPreExecute(){showToast("RestartingNFC...");}@OverrideprotectedExceptiondoInBackground(Void...params){try{disableNfcForegroundDispatch();Thread.sleep(1000L);enableNfcForegroundDispatch();returnnull;}catch(Exceptio

android - Intent Intent.ACTION_CALL :android. permission.CALL_PHONE 需要缺少权限

我正在尝试使用下面提供的代码以编程方式调用号码:if(ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.CALL_PHONE)!=PackageManager.PERMISSION_GRANTED){ActivityCompat.requestPermissions(MainActivity.this,newString[]{Manifest.permission.CALL_PHONE},CALL);}else{Stringnumber="56789855";Intentintent4=ne

Android fragment 生命周期: onResume called twice

在用户切换到另一个Activity然后返回到当前Activity后,我试图在我的fragment中保存和恢复滚动。这是发生了什么:如您所见,在第一个fragment的onResume进入暂停状态后,尽管用户未执行任何操作。问题是:我的代码有什么问题?这是我的代码:publicclassDisplayNoteActivityextendsActivity{privateContextmContext;//staticfinalintSUBACT_EDITNOTE=100;privatelongm_NoteID;privateStringm_sTextNoAbbrev;@Overridep

java - 架构组件 : How does the ViewModelProvider know which constructor to call?

我一直在阅读有关引入到Android的新架构组件的信息,但我无法弄清楚它是如何工作的:ViewModelProviders.of(Activity).get(Class)最初我认为它调用默认构造函数并返回一个ViewModel对象,然后您可以用例如实例化该对象。根据的init()方法publicclassUserProfileViewModelextendsViewModel{privateStringuserId;privateUseruser;publicvoidinit(StringuserId){this.userId=userId;}publicUsergetUser(){r

android - JNI 在应用程序中检测到错误 : JNI FindClass called with pending exception java. lang.NoSuchMethodError:没有非静态方法“Lchirpconnect/SDK

我正在使用ChirpAndroidSDK用于通过声音共享数据,它运行良好。但是当我启用我的proguard时,这个JNI异常是throw,我已经尝试了很多方法来克服这个问题,比如添加proguard规则让我们看看:-keepclassio.chirp.connect.Chirpconnect{*;}-keepclasschirpconnect.Chirpconnect{*;}-keepclasseswithmembernamesclass*{nativemethods;}但没有找到任何解决方案?我刚刚在libs文件夹中添加了一个chirpSDKAAR并添加了这个repositories

android - 生成文件调试 : which file/line calls to a command?

我在makefile构建系统(在Linux下构建的Android)中遇到了一个错误-一些文件被“rm”命令删除,我可以在构建日志中看到该命令。如何在makefile中找到调用'rm'的确切行?有什么自动化的方法吗? 最佳答案 对于GNUMake,您可以执行以下操作:__shell:=$(SHELL)SHELL=\$(warningmaking'$@'$(if$^,from'$^')$(if$?,becauseof'$?'))$(__shell)SHELL变量在每次Make调用子shell来执行配方时扩展。在这些行中,它被替换,以便在

Android限制CALL_PHONE权限避免隐藏来电

CALL_PHONE权限的Android文档如下:“允许应用程序在不通过拨号器的情况下发起电话调用供用户确认正在调用的电话的用户界面。”当用户安装应用程序时,也会提示此消息。阅读该应用程序可能会启动隐藏调用可能会阻止某些用户安装。由于我的应用不会启动隐藏调用,我想知道是否有一种方法可以限制这种行为,可能需要更严格的权限,以避免向用户显示该可怕的消息。 最佳答案 这是我更正的解决方案:IntentcallIntent=newIntent(Intent.ACTION_DIAL);callIntent.setData(Uri.parse(

android - l 预览 : Call requires API level 21 (current min is 20)

我正在尝试L并遇到API级错误。我已将当前最小值设置为“L”,但AndroidStudio似乎认为它是20。如何解决? 最佳答案 我将AndroidStudio0.6.1更新到0.8.0,错误消失了。build.gradle看起来完全一样:compileSdkVersion'android-L'buildToolsVersion'19.1.0'defaultConfig{applicationId'com.prt2121.tryl'minSdkVersion'L'targetSdkVersion'L'versionCode1vers

Android - 阻止 NEW_OUTGOING_CALL 事件循环?

我有一个BroadcastReceiver捕捉ACTION_NEW_OUTGOING_CALL事件。在onReceive()方法中,我将提供的号码发送到新的ListActivity,用户可以从列表中选择各种新的目的地号码。当用户从列表中选择一个新号码时,我将在URI字段中使用新号码启动一个新的ACTION_CALLIntent。或者,结果可能是原始数字。无论新号码是什么,都必须立即调用,不做任何处理。我怎样才能让BroadcastReceiver知道不应再次处理这个结果数? 最佳答案 我通过在我的BroadcastReceiver中

android - 媒体播放器错误 : start called in state 4

每次我开始播放时,我都会收到两个MediaPlayer错误。01-0312:04:35.738:D/PlayerActivity(10164):play01-0312:04:35.742:D/PlayerService(10164):setAudiotStreamType01-0312:04:35.742:D/PlayerService(10164):setDataSource01-0312:04:35.742:D/PlayerService(10164):prepareAsync01-0312:04:35.742:E/MediaPlayer(10164):startcalledins