我想在某个时间显示一个活动.为此,我使用的是AlarmManager.当设备处于唤醒状态时,它可以正常工作,但如果它处于睡眠状态则不会将其唤醒.
我设置闹钟的代码:
Calendar alarmTime = Calendar.getInstance();
alarmTime.set(Calendar.HOUR_OF_DAY, alarm.hour);
alarmTime.set(Calendar.MINUTE, alarm.minute);
alarmTime.set(Calendar.SECOND, 0);
if (alarmTime.before(now))
alarmTime.add(Calendar.DAY_OF_MONTH, 1);
Intent intent = new Intent(ctxt, AlarmReceiver.class);
intent.putExtra("alarm", alarm);
PendingIntent sender = PendingIntent.getBroadcast(ctxt, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTime.getTimeInMillis(), sender);
Run Code Online (Sandbox Code Playgroud)
我的广播接收器:
@Override
public void onReceive(Context context, Intent intent) {
try {
Bundle bundle = intent.getExtras();
final Alarm alarm = (Alarm) bundle.getSerializable("alarm");
Intent newIntent;
if (alarm.type.equals("regular")) {
newIntent = new Intent(context, RegularAlarmActivity.class);
} else if (alarm.type.equals("password")) {
newIntent = new Intent(context, PasswordAlarmActivity.class);
} else if (alarm.type.equals("movement")) { …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Android应用程序,我需要从加速度计读数中删除重力.我已经阅读了关于这个问题的多个讨论,我也在这里找到了一个算法,但我并没有真正理解它.
我想从每个轴过滤重力,而不是从总加速度过滤.
你能帮帮我吗?我的代码应该是这样的:
public void onSensorChanged(SensorEvent sensorEvent) {
float vals[] = sensorEvent.values;
float accelerationX = filterGravity(vals[0]);
float accelerationY = filterGravity(vals[1]);
float accelerationZ = filterGravity(vals[2]);
}
Run Code Online (Sandbox Code Playgroud)
我应该在filterGravity()方法中放置什么代码?
我正在开发一个应用程序,我必须使用多种吐司.
我使用以下方式显示这些吐司:
Toast.makeText(context, "Some medium-sized text", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
然而,显示器吐司具有一行的高度,而文本显示在多行上.结果是我无法查看吐司中的所有文本.
我怎样才能解决这个问题?
我正在尝试将Android Eclipse项目发送给另一个开发人员进行查看和修改.这是最好的方法吗?我认为它可能与文件/导出有关,但我无法解决问题.我正在使用的Eclipse版本是Helios Service Release 2,构建ID是20110218-0911
我正在为Android编写GMail客户端.我想在ListView中列出所有GMail帐户.当用户单击一个项目时,我希望程序检索相应帐户的密码.
但是,我得到一个SecurityException:
java.lang.SecurityException: caller uid 10107 is different than the authenticator's uid
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
AccountManager accountManager = AccountManager.get(context);
this.username = account.name;
this.password = accountManager.getPassword(account); //this is where I get the exception
Run Code Online (Sandbox Code Playgroud)
我在AndroidManifest.xml中拥有所有这些权限:
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Run Code Online (Sandbox Code Playgroud)
根据Android参考,唯一需要的权限应该是MANAGE_ACCOUNTS.
我的代码有什么问题?
我使用带有自定义适配器的ListView将项目显示为标题/副标题TextViews对.
不幸的是,我可以通过点击它的上半部分来选择一个项目,即标题占用的项目
这是我正在使用的代码:
journal_list.xml
<?xml version="1.0" encoding="utf-8"?>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:background="#fff"
android:cacheColorHint="#fff"
android:paddingBottom="6dp"
/>
Run Code Online (Sandbox Code Playgroud)
journal_list_item.xml用于列表项的布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
>
<TextView
android:id="@+id/journal_entry_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="#000"
android:textSize="18sp"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
/>
<TextView
android:id="@+id/journal_content"
android:paddingLeft="28dp"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="16sp"
android:textColor="#555"
android:inputType="textMultiLine"
android:maxLines="2"
android:minLines="1"
android:layout_below="@id/journal_entry_date"
android:layout_alignParentLeft="true"
/>
Run Code Online (Sandbox Code Playgroud)
适配器的代码:
private class JournalAdapter extends ArrayAdapter<JournalEntry> {
Context ctxt;
public JournalAdapter(Context ctxt) {
super(ctxt, R.layout.journal_list_item);
this.ctxt = ctxt;
}
public View getView(int position, View convertView, ViewGroup parent) {
View row …Run Code Online (Sandbox Code Playgroud)