我想closures我的应用程序,以便它不再在后台运行。 怎么做? 这是Android平台上的良好做法吗? 如果我依靠“后退”button,它closures应用程序,但它保持在后台。 甚至有一个名为“TaskKiller”的应用程序只是为了在后台杀死这些应用程序。
我正在开发的应用程序在第一次安装时有一个奇怪的行为。 如果用户第一次正常退出应用程序,它将永远像它应该那样运行。 如果用户在安装应用程序后第一次使用homebutton,它会将应用程序视为应该重新启动主屏幕,并在旧应用程序的前面启动新版本的活动。 所以手头确实有两个问题。 我似乎无法解决他们两个。 当应用程序首次安装在用户点击homebutton时,保持应用程序不closures。 保持应用程序的多个版本在启动时不会启动(launchMode在这里有所帮助,但是第一个组件仍然触发)。 我没有定义清单文件中的launchMode属性。 所以不应该有任何奇怪的行为。 我现在已经尝试了应用程序的launchmode属性,看看我是否能够按照预期的方式来实现它,但是在这里似乎不仅仅是正确地启动活动。 没有理由应用程序应该首次closures,只要按下homebutton就可以看到。 我不在应用程序中使用onUserLeaveHint 。 我必须再次通过search这个项目来确定。 所以似乎没有任何压倒性的主页button的重写。 即使在重新启动电话之后,主页button仍会正常运行。 不知道是什么原因导致初始安装将主页button作为标志来从头开始应用程序。 一旦用户第一次退出应用程序,问题将永久解决。 任何想法,我应该看看? 最近在应用程序中进行了一次search,看看它是否会触发,因为SQLite数据库方法的onUpgrade()组件导致了一些奇怪的行为。 @Override public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) { if (newVersion > oldVersion) { } } 或者在另一个可能会触发清单文件更新的位置,如果我正在将新版本的APK传递给已经有一个版本的设备,它已经比当前版本低。 然而,这部分代码没有任何东西让我相信它会影响与启动顺序有关的任何事情。 清单文件(名称已更改)在下面提供了应用程序当前正在使用的内容。 <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="com.android.vending.CHECK_LICENSE"></uses-permission> <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission […]
我正进入(状态 开放失败: EACCES (Permission denied) 在OutputStream myOutput = new FileOutputStream(outFileName); 我检查了根,我试过android.permission.WRITE_EXTERNAL_STORAGE 。 我该如何解决这个问题? try { InputStream myInput; myInput = getAssets().open("XXX.db"); // Path to the just created empty db String outFileName = "/data/data/XX/databases/" + "XXX.db"; // Open the empty db as the output stream OutputStream myOutput = new FileOutputStream(outFileName); // Transfer bytes from the inputfile to […]
我的应用程序需要显示从A到B的Google地图指示,但我不想将Google地图放入我的应用程序中,而是使用Intent启动它。 这可能吗? 如果是的话,怎么样?
我正在编写一个使用多个3D模型的Android应用程序。 这样的纹理模型会占用大量的内存。 我发现制造商对应用程序可以使用的堆大小设置了限制。 例如我的平板电脑三星Galaxy Tab 8.9 P7310可以占用64MB的内存。 有没有办法增加应用程序可以使用的内存大小?
我很长时间一直忙于找出如何在HelloMapView中的地图上的两个(GPS)点之间画线,但没有运气。 任何人都可以告诉我怎么做。 假设我使用扩展MapView的HelloMapView。 我需要使用覆盖? 如果是这样,我必须重写覆盖的onDraw()方法,并在这里画一条线? 我实际上尝试过这些东西,但没有结果。 先谢谢你!
我怎样才能解决这个错误? 导致:java.lang.illegalargumentexception 11-01 11:08:12.845:E / AndroidRuntime(28885):引起:java.lang.IllegalStateException:应用程序的AndroidManifest.xml中的元数据标签没有正确的值。 预计4030500,但发现0.您必须在元素中有以下声明: google-play-services_lib清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="4030530" android:versionName="4.0.30 (889083-30)" > <uses-sdk android:minSdkVersion="8"/> </manifest> public void loginGooglePlus() { aHelper.setup(this, GameHelper.CLIENT_APPSTATE | GameHelper.CLIENT_GAMES); mHelper = aHelper.getAppStateClient(); //crash is here mHelper.connect(); } 完整的错误日志: 11-01 11:38:13.507: E/AndroidRuntime(31297): FATAL EXCEPTION: main 11-01 11:38:13.507: E/AndroidRuntime(31297): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.company.application.android.aja/com.company.application.android.aja.BeetleBattleAndroidActivity}: java.lang.IllegalStateException: The […]
首先:是的,我读了关于这个话题的所有其他线索。 而且不仅来自这个网站的人(你看,我有点沮丧) 他们中的大多数都带有build议在XML文件中使用android:id而不是id 。 我做了。 从其他人那里,我了解到, View.findViewById不同于Activity.findViewById 。 我也处理了。 在我的location_layout.xml ,我使用: <FrameLayout …. > <some.package.MyCustomView … /> <LinearLayout … > <TextView … android:id="@+id/txtLat" /> … </LinearLayout> </FrameLayout> 在我的活动我做: … setContentView( R.layout.location_layout ); 并在我的自定义视图类: … TextView tv = (TextView) findViewById( R.id.txtLat ); 它返回null 。 这样做,我的活动正常工作。 所以也许是因为Activity.findViewById和View.findViewById不同。 所以我将本地传递给海关视图构造函数的上下文存储起来,然后尝试: … TextView tv = (TextView) ((Activity) context).findViewById( R.id.txtLat ); […]
我已经从Eclipse转移到了Android Studio 。 现在我正在尝试在我的地图应用程序上工作。 所以我需要我的SHA-1指纹证书号码。 当我使用Eclipse的时候,它正好在Windows – > Preferences – > Android – > Build下 。 但在Android Studio中,我找不到任何这样的选项,以便我可以轻松find指纹。 我正在使用Windows。 我从这个链接中读到: 当您从IDE运行或debugging您的项目时,Android Studio会自动在debugging模式下对您的应用程序进行签名。 所以我试图在命令行中运行这个从这个链接设置我的Java binpath后,不幸的是找不到我的指纹。 这是说这是一个非法的select 。 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 有没有办法从Android Studio中findSHA-1指纹,就像在Eclipse中非常容易? 由于我是Android Studio的新手,那么find它的完整过程是什么? 我想补充的另一件事是我有我的Eclipse生成的SHA-1指纹,以前我有我的应用程序在Google开发人员控制台的指纹注册,我在该API的密钥在Eclipse的工作。 在Android Studio中,我的项目是否可以使用相同的API密钥?
我在我的代码中有一个variables说它是“状态”。 我想根据这个variables值在应用程序中显示一些文本。 这必须在特定的时间延迟下完成。 就像是, 检查状态variables值 显示一些文字 等待10秒 检查状态variables值 显示一些文字 等待15秒 等等。 时间延迟可能会有所不同,并且一旦显示文本就会被设置。 我已经尝试Thread.sleep(time delay) ,并失败。 有没有更好的方法来完成这个任务?