我有一个@AAR需要在使用应用程序的清单中输入一个条目.在我的库的引导期间,我检查AndroidManifest.xml所需的接收器,如果我找不到它,我扔了一个,RuntimeException因为我的库将无法正常工作.这适用于99%的安装,但是RuntimeException当接收器明显存在时,会有少量安装.
Android v4.4 - v5.1.1都包含在崩溃报告中.三星,联想,Nexus 4,Nexus 5等都是受影响的设备.
最有趣的线索是,大约75%的崩溃是在root设备上.据推测,这是一些自定义ROM或其他一些干扰接收器检测的应用程序的结果.
我已经测试了一个带根的Nexus 5 w/4.4.4并且它工作正常.我用Nexus 5 w/5.1.1进行了测试,它运行正常.我已经使用运行CyanogenMod 12.1(最新版本)的Nexus 5进行了测试,它运行正常.我应用了所有可用的Privacy Guard选项,它仍然可以正常工作.
真的不知所措,不想放弃受影响的用户.
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<permission
android:name="${applicationId}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<application>
<receiver
android:name="com.example.MyBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
<!-- Activities, etc. removed for brevity -->
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
类
public class CheckSetup {
// Other methods removed for brevity
public void checkManifest() { …Run Code Online (Sandbox Code Playgroud) 鉴于:http://developer.android.com/resources/faq/commontasks.html#filelist
在我看来,在.classpath等文件中添加属性svn:ignore是个好主意.我同时使用Windows(work,ugh)和Linux开发环境,每次与存储库同步时,它都会覆盖我正在处理的任何一台机器上的.classpath.
我尝试在Team Sync透视图中右键单击.classpath文件,但svn:ignore选项显示为灰色.
任何想法我可能:1.从源代码控制中获取此项,2.将其添加到忽略列表?
任何其他文件智能添加到此列表?
从Android获取的想法:从对话框模糊和调暗背景窗口.我无法将对话框下的内容弄糊涂.调用eula.getWindow()时收到此错误:
对于AlertDialog.Builder类型,方法getWindow()未定义
eula与主要活动的代码一起显示:
EulaHelper.showEula(false, this);
Run Code Online (Sandbox Code Playgroud)
任何帮助是极大的赞赏.
public static void showEula(final boolean accepted, final FragmentActivity activity) {
AlertDialog.Builder eula = new AlertDialog.Builder(activity)
.setTitle(R.string.eula_title)
.setIcon(android.R.drawable.ic_dialog_info)
.setMessage(activity.getString(R.raw.eula))
.setCancelable(accepted);
if (accepted) {
// If they've accepted the EULA allow, show an OK to dismiss.
eula.setPositiveButton(android.R.string.ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
} else {
// If they haven't accepted the EULA allow, show accept/decline buttons and exit on
// decline.
eula
.setPositiveButton(R.string.accept,
new …Run Code Online (Sandbox Code Playgroud) 将现有Android项目导入Eclipse时,project.properties的更新不正确.此文件存在于源代码管理中:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=Google Inc.:Google APIs:14
Run Code Online (Sandbox Code Playgroud)
导入项目(并执行NOTHING else)后,文件如下所示:
# This file is automatically generated by Android Tools.
# Do not modify …Run Code Online (Sandbox Code Playgroud) 假设我有2个主题的应用程序:男性化和女性化.主题只是改变了调色板和一些drawables,以吸引用户的首选品味.
非常感谢http://www.androidengineer.com/2010/06/using-themes-in-android-applications.html提供了他的工作提示.
但现在让我们说我希望得到一个有点可爱的应用程序,不仅改变颜色和drawables,但我也想改变字符串.例如,我可能想要添加一个盗版主题,然后"提交"将是"Arrrrgh!"
所以,我的基本问题是:如何通过用户可选择的主题更改我的应用程序中的字符串?
编辑:
做到这一点:该应用程序有12个按钮和32个文本视图我想要主题依赖,我想在没有巨型映射或大量定制attrs的情况下完成此操作.
所有3种当前解决方案都可以使用.寻找更干净的东西虽然我不知道这样的野兽存在.
我有一个用户体验要求,用户Dialog通过长按一个单元格来触发GridView.
当Dialog显示时,用户必须能够在屏幕周围移动他们的手指/拇指而不会UP/CANCEL在他们离开GridView细胞边界时触发事件.
当用户最终断开与屏幕的联系时,我正在寻找捕获.GridView似乎记录了一些误报,UP/CANCEL因为我们没有看到使用任何其他观点.
问题是原始视图会捕获所有触摸事件,因为它DOWN是由它捕获的.
对话框在原始视图的UP事件之后注册/看不到任何触摸.
我试过取消原来的触摸事件并使用dispatchTouch()等等.没有快乐.
有任何想法吗?
我正在调试一个位置感知应用程序,我想得到一个当前正由系统监控的Geofences列表 - 即使我只能看到我自己的软件包的Geofences.代码使用的是GoogleApiClient,因此使用了FusedLocation.
我试过adb shell dumpsys location哪个有"Geofences:"的输出部分,但它总是空的.我假设这是遗留位置/地理围栏/邻近.
我也尝试过只adb shell dumpsys搜索该文件以获取地理围栏,但我一无所获.
这两个命令都是在启动应用程序并成功添加要监视的栅栏后运行的.可以在此处找到实现的示例:https://github.com/androidfu/GeofenceExample
我有一个可以读取麦克风的应用程序.特别是我正在检测吹入麦克风;)它不适用于很多HTC设备.我已经选择了HTC Droid Eris以及HTC Droid Incredible.除了那些我有许多朋友的报告,有HTC设备也遇到这个问题,包括相对较新的HTC Thunderbolt.
因此,调试应用程序已经显示环境室噪声在星巴克的4000-11000中记录.一旦我吹入麦克风,输入音量就会下降到4000秒:每次都是.
任何人都知道这是否可以通过编程方式禁用?
这是我如何阅读输入...
int minBufferSize = AudioRecord.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize);
short[] buffer = new short[minBufferSize];
audioRecord.startRecording();
audioRecord.read(buffer, 0, minBufferSize);
int i = 0;
for (short sample : buffer) {
inputVolume = Math.abs(sample);
maxVolumeIn = (inputVolume > maxVolumeIn) ? inputVolume : maxVolumeIn;
if (inputVolume >= micSensitivity) {
Log.d(TAG, "Blowing Detected. Volume Level: " + inputVolume);
break;
}
}
Run Code Online (Sandbox Code Playgroud) 有没有办法拦截Windows Phone 8上的http请求?
我有一个PhoneGap应用程序,我想拦截WebView正在做的一些http请求并返回我自己的响应.我正在拦截在Web服务器上请求资产并返回可在本地生成的资产的调用.
在Android中,我可以使用shouldInterceptrequest
在iOS中,我可以使用NSURLProtocol
从我在Windows Phone 8上可以看出,我可以注册我自己的方案来启动我的应用程序,但我不能拦截http请求.有什么东西我错过了吗?
android ×8
subclipse ×2
svn ×2
adb ×1
blur ×1
classpath ×1
cordova ×1
dialog ×1
eclipse ×1
geofencing ×1
gridview ×1
htc-android ×1
java ×1
long-press ×1
microphone ×1
motionevent ×1
resources ×1
string ×1
svnignore ×1
themes ×1
webview ×1