2016-09-20 17 views
1

Google Play现在可以在某些Chromebook上以测试版运行。我有谷歌播放应用程序,下载到Chromebook后,我遇到了这个问题:应用程序的活动重新启动每次按“最大化”按钮。当然,我想让我的应用程序与Chrome OS兼容。我不确定问题出在哪里,在Android设备上效果很好。Chrome操作系统上的Android应用每次都按“最大化”按钮重新启动

这个问题可以通过与Android工作室(我用1.5版)作出简单的Hello World项目很好地重现:

在Android Studio中按“开始一个新的Android Studio项目”,填下一个名称,然后按。我为API 8+设置兼容性,然后选择Empty活动。项目被设定为最小的SDK 8和目标SDK 23.为的onCreate我添加简单吐司消息:

Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show(); 

导致APK可以在Chrome操作系统进行测试。每次按“最大化”按钮我都会看到“重新创建”消息。

我对AndroidManifest.xml没有做任何事情。但我测试了旗帜:

 android:configChanges="orientation|keyboardHidden" 
     android:windowSoftInputMode="adjustResize" 

没有成功。

这里是如何看我的活动代码:

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toast.makeText(this, "Recreated", Toast.LENGTH_SHORT).show(); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) 
{ 
    super.onConfigurationChanged(newConfig); 
    Toast.makeText(this, "onConfigurationChanged", Toast.LENGTH_SHORT).show(); 
} } 

我预计onConfigurationChanged事件将每个I按“最大化”按钮时被触发,而是被称为onCreate()

请按我必须做的,以防止活动每次重新启动是“最大化”按钮按下。以及如何处理“调整大小”事件。

回答

0

使用android:configChanges="orientation|keyboardHidden|screenLayout|screenSize|smallest‌​ScreenSize"为清单中的活动应该有所帮助。

但是,不幸的是,建议在配置更改上查杀活动。

+0

谢谢你,我试着用“screenSize”,但它不起作用。清单中的“orientation | keyboardHidden | screenSize”是Activity在Android设备上未重新启动,但在Chrome OS上重新创建...如果确实必须重新启动,那么我必须开始将所有数据存储在静态变量中并将它们全部加载回所有在“onCreate”中查看。这意味着初始化所有的视图,结构等...大开销....希望有一些解决方法... – user1063364

+0

尝试所有的第一个:“mcc”,“mnc”,“区域设置”, “触摸屏”, “keyboard”,“keyboardHidden”, “navigation”,“screenLayout”,“fontScale”, “uiMode”,“orientation”,“screenSize”, “smallestScreenSize”,“density”:) –

+0

Hah,perfect idea: )正确的设置是:“orientation | keyboardHidden | screenLayout | screenSize | smallestScreenSize”。如果我删除screenLayout或smallestScreenSize,那么它将无法工作。但“重新创建”现在只显示一次,每次按“最大化”时,我都会看到“onConfiguration”消息。我现在用弧焊机测试了它,但是会尽快在chromebook上检查它。将写在这里最终结果。非常感谢你。 – user1063364

相关问题