目录
Android系统更新
Android 9.0 Pie:使用前台服务,需要添加权限
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Android 9.0 Pie:http及https的网络连接问题
- 方法一:服务器和本地应用都改用https(推荐)。
- 方法二:①在资源文件夹
res/xml
下面创建network_security_config.xml
:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
- 方法二:②在清单文件
AndroidManifest.xml
的application
标签里面设置networkSecurityConfig
属性:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config">
<!-- ... -->
</application>
</manifest>
- 方法三:
targetSdkVersion
降级回到27
。
Android Studio版本更新
AndroidManifast警告App is not indexable by Google Search
- 方法一:按照提示添加
intent-filter
:在至少一个activity
的intent-filter
中添加
<action android:name="android.intent.action.VIEW" />
- 方法二:忽略警告:在
app
的build.gradle
中添加
lintOptions
{
disable 'GoogleAppIndexingWarning'
}
CODE
// license with a license key
ArcGISRuntimeEnvironment.setLicense("runtimelite,1000,rudxxxxxxxxx,none,xxxxxxxxxxxxxxxxxxxx");
// 去除地图网格
BackgroundGrid mainBackgroundGrid = new BackgroundGrid();
mainBackgroundGrid.setColor(0xffffffff);
mainBackgroundGrid.setGridLineColor(0xffffffff);
mainBackgroundGrid.setGridLineWidth(0);
mMapView.setBackgroundGrid(mainBackgroundGrid);
// 自带toolbar右侧menu
- init
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.nav_main, menu);
return super.onCreateOptionsMenu(menu);
}
- display
图标 + 文字
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if (menu != null) {
if ("MenuBuilder".equalsIgnoreCase(menu.getClass().getSimpleName())) {
try {
Method method = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
method.setAccessible(true);
method.invoke(menu, true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return super.onMenuOpened(featureId, menu);
}
- click事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_about:
// TODO
return true;
default:
return super.onOptionsItemSelected(item);
}
}
待续