我有一个BackgroundReceiver
设置来接收android.intent.action.USER_PRESENT
清单文件中的:
<receiver android:name="com.demo.MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
我的重写onReceive(Context, Intent)
方法很简单:
@Override
public void onReceive(Context context, Intent intent)
{
if (intent != null)
{
if (Intent.ACTION_USER_PRESENT.equals(intent.getAction())
{
// wrapper for Log.d(String, String)
Dbug.log("MyBroadcastReceiver: [" + intent.getAction() + "]");
// this calls a service
serviceExample(context, intent);
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题:
android android-intent android-3.0-honeycomb android-4.0-ice-cream-sandwich
如何使用Ant(bb-ant-tools)将JAR文件编译为COD?即没有其他源文件
最终,我需要一个在构建期间运行Jar Jar Links(jarjar)的脚本,以解决在多个应用程序中使用我们的sdk的命名空间问题.Jarjar将JAR文件作为输入,我假设它输出一个JAR文件.
因此,要在bb-ant-tools构建中运行jarjar,我需要知道如何将输出JAR编译成COD.
我只关注这部分问题,以尽量减少其他可能的错误来源.一旦我可以掌握将JAR构建到COD中,我将尝试jarjar步骤.
1)我可以将我的项目构建到工作COD中,在设备上签名并运行.
2)要包含sdk代码,我目前将源文件夹添加到主项目构建中.(将来我想知道如何将库作为JAR包含在构建中 - BlackBerry-Ant脚本将JAR包含在没有外部依赖的项目中)
3)此步骤的输出包括通常的文件:
4)我尝试运行第二个构建,获取上面的JAR文件并将其用作rapc
调用中唯一的源文件.我通过将src
标记指向rapc
仅包含我的JAR文件的文件夹来执行此操作.
在构建的最后部分,当rapc是adding
文件时,我收到错误:
java.util.zip.ZipException: duplicate entry: MyApp-1.cod
Run Code Online (Sandbox Code Playgroud)
(已编辑的构建输出中的错误的完整详细信息)
我可以看到这是rapc第二次尝试添加此文件.我不明白为什么,因为JAR中只有该文件的一个副本.
...etc
以使其可读)build:
[mkdir] Skipping C:\development\ant\new_test\MyApp\build because it already exists.
[copy] Copying 1 file to C:\development\ant\new_test\MyApp\build
[copy] Copying C:\development\ant\new_test\MyApp\icon.png to C:\development\ant\new_test\MyApp\build\icon.png
[rapc] Compiling 1 source files to MyApp.cod
[rapc] Executing 'C:\Java\jdk1.6.0_24\jre\bin\java.exe' …
Run Code Online (Sandbox Code Playgroud) 构建之后,我需要修改一个HTML文件,指向客户端下载新应用程序.
我搜索一个令牌; 用链接和令牌替换它:
<replace file="index.html" >
<!-- this searches for literal text ${MyTOKEN} -->
<!-- does not "expand" ${MyTOKEN} before searching -->
<replacetoken>${MyTOKEN}</replacetoken>
<replacevalue>"some link" <br> ${MyTOKEN}</replacevalue>
</replace>
Run Code Online (Sandbox Code Playgroud)
此代码不能移动到模板构建脚本中,因为replacetoken
和replacevalue
标签将文本作为文字 - 它们不在expandproperties
我的ANT版本中.
我想使用属性来定义"some link"
和MyTOKEN
值.
使用属性的解决方法"some link"
是filterchain
在替换后使用a 并复制文件:
<copy file="index.html" tofile="index2.html" >
<filterchain>
<!-- this converts the ${xxx} properties into their values -->
<expandproperties />
</filterchain>
</copy>
Run Code Online (Sandbox Code Playgroud)
但是这replace
已经完成了 - 所以这意味着我仍然需要将MyTOKEN
值直接硬编码到构建脚本中.
我是android的新手.我希望以3分钟的间隔获得GPS位置,但我每秒都会获得位置更新.
我怎么能避免这个?
请提出建议.我正在使用以下代码:
captureFrequencey=3*60*1000;
LocationMngr.requestLocationUpdates(
LocationManager.GPS_PROVIDER, captureFrequencey, 0, this);
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我试图在用户单击按钮时显示数字小键盘.
单击该按钮时,我使用requestFocus()将焦点移动到布局中的EditText,然后我需要显示数字小键盘,以便用户可以键入值.
值始终为数字,因此我只需要显示数字键盘.
我厌倦了在我的按钮的onClick()方法中使用它,但它不起作用.
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
Run Code Online (Sandbox Code Playgroud)
请为我提供任何解决方案.
此外,我的应用程序是支持4.0.3的Android平板电脑.
这个问题与Android版本的Lollipop有关.对于Lollipop API,请检查相关问题:
我想知道如何在状态栏中打开/关闭系统警报图标,如下图所示:
根据我对系统的理解,以及我过去阅读的内容,它由内置系统闹钟应用程序控制.第三方应用程序无法在无根设备上对其进行控制.没有理由我们应该能够控制它.
但是,Timely v1.2.7在我的无根Galaxy Nexus v4.2.1和Nexus 5 v4.4.2上控制了这个图标.所以有可能.
我想知道在无根设备上执行此操作的技术是什么.我怀疑是一个hack或无证代码,但仍然感兴趣,如果有人可以解决一些问题.
android alarm alarmmanager undocumented-behavior android-alarms
是否可以在null
分配Parcel
对象时写入,并在null
再次取消对象时再次返回?
我们假设我们有以下代码:
public class Test implements Parcelable {
private String string = null;
public Test(Parcel dest, int flags) {
source.writeString(string);
}
}
Run Code Online (Sandbox Code Playgroud)
使用NullPointerException
时从包裹中读取此值是否会得到Parcel.readString()
?
或者我会得到一个null
价值?
我们可以使用例如设置小部件的MINIMUM大小
android:minHeight="40dp"
android:minResizeHeight="40dp"
android:minResizeWidth="40dp"
android:minWidth="40dp"
Run Code Online (Sandbox Code Playgroud)
没有android:max___
属性.
有没有办法限制可调整大小的小部件的MAXIMUM大小?
(也许是我没有看到的调整大小回调或类似的东西?)
注意到文档说调整大小的常见用例是列表或网格.这不需要设置最大尺寸.
我的用例只是" 客户端要求提供1x1或2x2的单个小部件 ".他会得到他想要的东西,还是我必须为他改变主意?
我有一个示例类LivePagedListProvider
即是在android.arch.paging
包中。
有没有什么直接的方法可以确定这个类属于 gradle 文件中的哪个库?
我有一个现有的数据存储实体,如下所示:
@Data
@Entity
public class Data
{
@Id @Index long id;
long subId;
boolean expired;
boolean claimed;
}
Run Code Online (Sandbox Code Playgroud)
我需要根据subId过滤数据,过期声明的字段,所以我使用datastore-indexes.xml创建了一个多索引,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes autoGenerate="true">
<datastore-index kind=“Data” ancestor="false">
<property name=“subId” direction="asc" />
<property name="expired" direction="asc" />
<property name="claimed" direction="asc" />
</datastore-index>
</datastore-indexes>
Run Code Online (Sandbox Code Playgroud)
该实体完全是一个新实体,下面是添加到实体类中的两个新记录:
Column : Data
id : 1
subId : 1
expired : false
claimed : false
id : 2
subId : 1
expired : false
claimed : false
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用以下逻辑查询数据实体时,我确实得到空数据:
List<Data> data = ofy.load().type( Data.class )
.filter( "subId = ", …
Run Code Online (Sandbox Code Playgroud) android ×7
ant ×2
alarm ×1
alarmmanager ×1
android-4.0-ice-cream-sandwich ×1
blackberry ×1
buttonclick ×1
gps ×1
gradle ×1
java ×1
objectify ×1
parcel ×1
parcelable ×1
replace ×1