在开发一个与GCM集成的小项目时,我偶然发现了一个奇怪的问题。 有些时候,当我开始看日志,看看是否收到消息,消息似乎没有通过,直到我改变了networking状态(IE最初在WiFi上,如果我关掉WiFi,移动到移动数据,消息到达精细)。 在我改变了networking状态之后,消息开始得到完全正常,而且一旦我将networking状态改回到之前的状态(在这种情况下是WiFi),消息就继续被接收。 该项目本身包括启动的能力(启动时启动GCMBaseIntentService),这再次正常工作,我敢肯定,应用程序/服务正在运行,因为我已经手动启动应用程序,当这个问题发生时还检查服务是否正在运行,如果没有运行,检查是否已经注册。 有没有其他人遇到这个问题,或有任何指示,我该如何解决这个问题? 在没有收到消息的时间和收到消息的时间(更改networking状态之后)之间,我没有看到任何帮助。 我浏览过GCM文档,看不到任何由于超时(在设备本身上)而未收到消息,或任何可能影响此设置的configuration选项。 欣赏任何帮助 – 如果需要,我可以提供源代码,但它几乎不会偏离android-sdk中提供的演示应用程序。
有没有办法检测用户何时解锁手机? 我知道关于ACTION_SCREEN_ON和ACTION_SCREEN_OFF ,但是当按下电源button时屏幕开启/closures时,它们似乎被触发,但实际上当按下菜单button时手机没有被解锁时,它们被触发。 我正在尝试在活动正在运行时检测到解锁/locking,并且我想要在解锁后恢复活动。
我的代码完美地工作:每次导航抽屉中的项目被点击时,项目被选中。 当然,我想用默认片段(home)启动应用程序,但是Navigation Drawer没有select该项目。 如何以编程方式select该项目? public class BaseApp extends AppCompatActivity { //Defining Variables protected String LOGTAG = "LOGDEBUG"; protected Toolbar toolbar; protected NavigationView navigationView; protected DrawerLayout drawerLayout; private DateManager db = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.base_layout); navigationView = (NavigationView) findViewById(R.id.navigation_view); // set the home/dashboard at startup FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.replace(R.id.frame, new […]
我试图改变一个Android TextView小部件的背景颜色,当用户触摸它。 我为此创build了一个select器,它存储在res/color/selector.xml ,大致如下所示: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="@color/semitransparent_white" /> <item android:color="@color/transparent" /> </selector> TextView的clickable属性是true ,以防感兴趣。 当我把这个select器作为android:background="@color/selector"分配给TextView ,我在运行时收到以下exception: 错误/ AndroidRuntime(13130):引起:org.xmlpull.v1.XmlPullParserException:二进制XML文件行#6:标记需要“drawable”属性或子标记定义drawable 当我将该属性更改为可绘制的时,它可以工作,但是结果看起来完全错误,因为ID似乎被解释为图像引用而不是颜色引用(如“drawable”所示)。 令我困惑的是我可以直接设置一个颜色参考,例如“@ color / black”作为背景属性。 这是按预期工作。 使用select器不起作用。 我也可以使用select器作为textColor没有问题。 在Android中向TextView应用背景颜色select器的正确方法是什么?
我想能够以最简单的方式在我的Android应用程序中将背景颜色更改为白色。
我的WakeLock没有让我的设备保持清醒。 在OnCreate()我有: PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "My Tag"); mWakeLock.acquire(); 然后: new CountDownTimer(1320000, 200) { public void onTick(long millisUntilFinished) { // I update a progress bar here. } public void onFinish() { // I finish updating the progress bar. mWakeLock.release(); } }.start(); 定时器结束之前屏幕closures,如何使屏幕保持可见? mWakeLock是之前声明的字段: private PowerManager.WakeLock mWakeLock; 我的设备使用Android 1.6。 我真的很感激任何帮助来解决这个问题。
我正在尝试使用API v2在android中显示地图。 我想要一些像这样的UI。但是每当我尝试在布局中添加button时,它都不会反映在输出中 我能够得到没有button的地图 。 我需要button来整合像下面的地图 代码为Mylayout.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MapActivity" > <RelativeLayout android:layout_width="match_parent" android:layout_height="48dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioGroup android:id="@+id/radio_group_list_selector" android:layout_width="0dp" android:layout_height="match_parent" android:layout_gravity="center_horizontal|center_vertical" android:gravity="center_horizontal" android:orientation="horizontal" android:layout_weight="1" > <RadioButton android:id="@+id/radioPopular" android:layout_width="0dp" android:layout_height="match_parent" android:gravity="center_horizontal|center_vertical" android:text="@string/Popular" android:layout_weight="1" android:button="@null" android:background="@drawable/shape_radiobutton" android:layout_marginBottom="4dp" android:layout_marginTop="4dp" android:layout_marginLeft="4dp" android:textColor="@drawable/textcolor_radiobutton" /> <View android:id="@+id/VerticalLine" android:layout_width="1dip" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_marginTop="4dip" android:background="#aaa" /> <RadioButton android:id="@+id/radioAZ" android:layout_width="0dp" […]
我创build了一个项目,将项目,库中的资源文件复制到项目结构中,并添加了规定的样式Theme.AppCompat 。 编译没有错误,但是当你开始降级时例外: 08-03 00:50:00.406: ERROR/AndroidRuntime(4055): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$styleable at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:98) at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:58) at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) at com.example.SampleMetrRost.CentralActivity.onCreate(CentralActivity.java:12) at android.app.Activity.performCreate(Activity.java:4636) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1051) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1924) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985) at android.app.ActivityThread.access$600(ActivityThread.java:127) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4476) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:816) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:583) at dalvik.system.NativeStart.main(Native Method) 请帮帮我。 今天花了整整一天
我从最新版本的Android Studio AVD中select了这个模拟器。 我select了最新版本的API API 23.因为它说“使用Google API”,我认为它实际上包含了所有的Google应用程序,包括Play Store,这样我就可以安装像Facebook这样的应用程序。 我已经看到了SO上的其他线程( 如何在Android Studio模拟器中安装Google Play应用程序? ),本文给出了基于通用包安装Google应用程序的说明,但仅适用于Android 4.3 API 18: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2 我想要一个用于API 23.有没有办法在模拟器上安装Google Apps包? 似乎奇怪的是,官方的Android模拟器并没有标准的所有的谷歌应用程序在第一位…这似乎不是很支持谷歌,并可能意味着开发商将不得不购买实际设备开发的API 23 ?
如何在Android Studio中导出项目? 我的意思是,就像我以前在Eclipse中通过File|Export所做的那样。