我正在尝试将新的Android 4.0 VPN框架与模拟器一起使用.
在我的示例应用程序中,我正在调用:
Intent intent = VpnService.prepare(SimpleVpnActivity.this);
if(null != intent){
startActivityForResult(intent, 1);
}
Run Code Online (Sandbox Code Playgroud)
但是应用程序因异常而崩溃,因为VpnService.prepare()返回一个显式意图:Intent:{cmp = com.android.vpndialogs/.ConfirmDialog}用于startActivityForResult()无法找到的活动.
难道我做错了什么?
我将不胜感激任何帮助.
我的堆栈转储:
E/AndroidRuntime(12783): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.vpndialogs/
com.android.vpndialogs.ConfirmDialog}; have you declared this activity in your AndroidManifest.xml?
E/AndroidRuntime(12783): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1508)
E/AndroidRuntime(12783): at android.app.Instrumentation.execStartActivity(Instrumentation.java: 1384)
E/AndroidRuntime(12783): at android.app.Activity.startActivityForResult(Activity.java:3190)
E/AndroidRuntime(12783): at com.my.simple.vpn.SimpleVpnActivity $1.onClick(SimpleVpnActivity.java:30)
E/AndroidRuntime(12783): at android.view.View.performClick(View.java: 3460)
E/AndroidRuntime(12783): at android.view.View $PerformClick.run(View.java:13955)
E/AndroidRuntime(12783): at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(12783): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(12783): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(12783): at android.app.ActivityThread.main(ActivityThread.java:4340)
E/AndroidRuntime(12783): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(12783): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(12783): …Run Code Online (Sandbox Code Playgroud) 我计划为用户创建一个应用程序,以查看我目前正在制作的游戏统计数据,但我的问题就像标题一样.我不确定Android 3.0,Android 2.0或更低版本的手机是否可以使用该应用?如果没有,我将如何解决这个问题?我是否只能使用NFC等新的API功能?总而言之,如果我开始使用Android 4.0 SDK进行开发,那么所有Android手机都可以使用我的应用吗?
当我尝试在Eclipse中创建一个新的AVD时,我安装了图像,但这不是问题所在.我收到了消息
failed to parse properties from /home/kevin/.android/avd/icecream.avd/config.ini
Run Code Online (Sandbox Code Playgroud)
当我看着机器.
android android-virtual-device android-4.0-ice-cream-sandwich
我有一个现有的应用程序,全屏查看器使用菜单按钮显示选项.我已将android:targetSdkVersion设置为14,以使整个应用主题看起来像本机ICS APP.
问题是,当将Activity样式设置为全屏时,我没有菜单按钮,如果我显示ActionBar,则需要app太多的屏幕空间才能显示菜单.
有没有办法在ICS全屏显示常规菜单按钮?
user-interface android android-4.0-ice-cream-sandwich android-actionbar
我有一个图像设置为在我的应用程序中旋转.除最新的Ice Cream Sandwich外,该代码适用于所有Android版本.图像仍然会旋转,但不会从图像的中心轴旋转.相反,它似乎从图像的左角(0,0)旋转.有没有人知道为什么这在冰淇淋三明治中不起作用?这是我的代码:
rotator.xml:
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1200"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:toDegrees="360" />
Run Code Online (Sandbox Code Playgroud)
animation.java:
status.setImageResource(R.drawable.pending);
status.startAnimation(AnimationUtils.loadAnimation(_context, R.anim.rotator));
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的Android应用程序包含一个EditText视图,您可以在其中键入一些短消息(单行).按键盘的DONE键将消息附加到上面的日志视图(TextView)并清除输入视图.
这是我的视图xml的片段:
<LinearLayout ...>
<TextView
android:id="@+id/logView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/inputView"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:imeOptions="actionDone"
android:singleLine="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
要处理输入并重置视图,我使用OnEditorActionListener.
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
...
String input = mInputView.getText().toString();
mInputView.setText(""); // clear the input view
...
}
Run Code Online (Sandbox Code Playgroud)
我没有在Android 1.6 - 3上遇到任何问题.但是从IceCreamSandwich(> = Android 4)开始,有一个奇怪的错误,间歇性地发生(在大多数情况下在~10-30输入之后).
键入一些文本时,输入视图保持空白.光标仍然在位置0上闪烁,不显示任何文本.虽然单击DONE会将(不可见)文本添加到上面的日志视图中,但可以读取文本.同时隐藏键盘使EditText视图中的文本可见.
如接受的答案所述,这是一个(并非如此)已知的Android操作系统错误.简单的解决方案是以不同的方式清除EditText视图:
TextKeyListener.clear(mInputView.getText());
Run Code Online (Sandbox Code Playgroud) 我正在努力确保我的应用程序正在使用流行的Galaxy Nexus作为基础在ICS上进行测试.我想尽可能忠实地模仿它.
我用以下参数创建了一个AVD(来自config.ini).这主要是使用GUI创建的(disk.dataPartition.size是一个基于我读过的其他文章的手工编辑的参数).内存值可能偏低,但这对我来说不会造成问题.
由于设备没有外部SD卡,我对hw.sdCard说"不",但我显然没有在/ mnt/scdcard中看到任何内容(与/ sdcard相同)并且无法写入它(重新安装不是问题AFAIK:该安装根本不存在).
我已经用几种不同的方式对它进行了测试,包括adb shell.并且,是的,我在这里搜索了一个答案...这个设置的大部分是基于这个相关问题的答案,最终导致我使用disk.dataPartition.size作为命令行选项的等价物(按此网站).
编辑:如果我将hw.sdcard设置为yes它会给我一个sdcard,但是我想知道这是否是正确的方法(假设在这个版本的模拟器中有正确的方法).另外,在使用实际的外部SD卡模拟ICS设备时,这并没有什么帮助......
所以(因为我实际上没有Galaxy Nexus可以使用):
Run Code Online (Sandbox Code Playgroud)abi.type=armeabi-v7a disk.dataPartition.size=512 hw.cpu.arch=arm hw.cpu.model=cortex-a8 hw.keyboard.lid=no hw.lcd.density=320 hw.mainKeys=no hw.ramSize=512 hw.sdCard=no image.sysdir.1=add-ons\addon-google_apis-google_inc_-15\images\armeabi-v7a\ image.sysdir.2=system-images\android-15\armeabi-v7a\ sdcard.size=64M skin.name=WXGA720 skin.path=platforms\android-15\skins\WXGA720 snapshot.present=true vm.heapSize=48
android sd-card android-emulator android-4.0-ice-cream-sandwich
我曾为我的手机编写了一个小型实用程序应用程序,它停止了烦人的运营商提供的启动时播放的铃声.我注意到如果我在断电之前将手机置于静音模式后声音没有播放,所以我写了这个小实用程序,以便在断电时保持静音并在启动时恢复声音.这适用于姜饼上的Galaxy S2.整个代码分为两类:
public class OnShutDownReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
AudioManager mgr=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
mgr.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
}
Run Code Online (Sandbox Code Playgroud)
和
public class OnBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
AudioManager mgr=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
mgr.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
}
Run Code Online (Sandbox Code Playgroud)
清单是
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.nbt.hush"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name=".OnBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<receiver android:name=".OnShutDownReceiver" >
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
现在我的手机已被我的手机升级为ICS,它已不再有效.如果我在关机前将手机置于静音模式,则无法播放铃声.因此,我怀疑接收器都没有被触发.(我确实在接收器中放了一些没有显示的日志代码,但我怀疑由于时间原因,它可能也没有在Gingerbread下显示.)
有任何建议请问为什么它不再起作用了?
我的办公系统已经在Eclipse中安装了一些Android SDK版本1.5,1.6,2.1,2.2,2.3,3.1,3.2.这些版本工作正常.现在我想安装4.0版,但我不知道?如何在我的Eclipse中安装Android 4.0 Ice Cream Sandwich?我正在使用Ubuntu 10.04.
另外如果您知道如何在Windows下安装Android 4.0,请告诉我.
eclipse installation ubuntu sdk android-4.0-ice-cream-sandwich
我正在开发一个Android应用程序,我正在使用API级别8.但是我希望这个应用程序在Froyo和Gingerbread上运行时会使用ICS的主题,因为ICS的主题更加美观.我希望至少按钮的颜色方案和形状是相同的.有没有办法做到这一点?
android themes styles android-2.2-froyo android-4.0-ice-cream-sandwich