标签: android-4.0-ice-cream-sandwich

无法使用新的Android 4.0 VpnService框架

我正在尝试将新的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)

vpn android android-4.0-ice-cream-sandwich

5
推荐指数
1
解决办法
2898
查看次数

Android 4.0应用可以与Android 2.0和Android 3.0设备配合使用吗?

我计划为用户创建一个应用程序,以查看我目前正在制作的游戏统计数据,但我的问题就像标题一样.我不确定Android 3.0,Android 2.0或更低版本的手机是否可以使用该应用?如果没有,我将如何解决这个问题?我是否只能使用NFC等新的API功能?总而言之,如果我开始使用Android 4.0 SDK进行开发,那么所有Android手机都可以使用我的应用吗?

compatibility android android-4.0-ice-cream-sandwich

5
推荐指数
2
解决办法
5141
查看次数

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

5
推荐指数
2
解决办法
1万
查看次数

显示ICS上的菜单按钮,同时保持android:targetSdkVersion为14

我有一个现有的应用程序,全屏查看器使用菜单按钮显示选项.我已将android:targetSdkVersion设置为14,以使整个应用主题看起来像本机ICS APP.

问题是,当将Activity样式设置为全屏时,我没有菜单按钮,如果我显示ActionBar,则需要app太多的屏幕空间才能显示菜单.

有没有办法在ICS全屏显示常规菜单按钮?

user-interface android android-4.0-ice-cream-sandwich android-actionbar

5
推荐指数
1
解决办法
1320
查看次数

Android图像旋转不适用于冰淇淋三明治

我有一个图像设置为在我的应用程序中旋转.除最新的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)

谢谢!

java android android-4.0-ice-cream-sandwich

5
推荐指数
1
解决办法
659
查看次数

EditText不显示当前输入(Android 4)

我的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)

android android-layout android-4.0-ice-cream-sandwich

5
推荐指数
1
解决办法
2546
查看次数

需要帮助正确模拟带有AVD的三星Galaxy Nexus

我正在努力确保我的应用程序正在使用流行的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可以使用):

  • 我会看到内部"sdcard"区域和挂载点 (/ mnt/sdcard,/ sdcard,两者或其他什么?)
  • 我可以做些什么来正确地模仿"sdcard"(因为它本身并不是真正的SD卡)?
  • 额外奖励:我还会在带有物理SD卡的设备看到什么?/可拆卸(如在Honeycomb中)?别的什么?
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
Run Code Online (Sandbox Code Playgroud)

android sd-card android-emulator android-4.0-ice-cream-sandwich

5
推荐指数
1
解决办法
7837
查看次数

ICS中的BroadcastReceivers

我曾为我的手机编写了一个小型实用程序应用程序,它停止了烦人的运营商提供的启动时播放的铃声.我注意到如果我在断电之前将手机置于静音模式后声音没有播放,所以我写了这个小实用程序,以便在断电时保持静音并在启动时恢复声音.这适用于姜饼上的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下显示.)

有任何建议请问为什么它不再起作用了?

android broadcastreceiver android-4.0-ice-cream-sandwich

5
推荐指数
1
解决办法
2886
查看次数

如何在eclipse中安装android 4.0冰淇淋三明治版?

我的办公系统已经在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

5
推荐指数
1
解决办法
2664
查看次数

Froyo和Gingerbread Apps的ICS风格

我正在开发一个Android应用程序,我正在使用API​​级别8.但是我希望这个应用程序在Froyo和Gingerbread上运行时会使用ICS的主题,因为ICS的主题更加美观.我希望至少按钮的颜色方案和形状是相同的.有没有办法做到这一点?

android themes styles android-2.2-froyo android-4.0-ice-cream-sandwich

5
推荐指数
2
解决办法
7534
查看次数