222 lines
7.8 KiB
XML
222 lines
7.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<LinearLayout
|
||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||
android:orientation="vertical"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="match_parent">
|
||
|
||
<android.widget.Toolbar
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content"
|
||
android:id="@+id/toolbar"/>
|
||
|
||
<ScrollView
|
||
android:layout_width="match_parent"
|
||
android:layout_height="0dp"
|
||
android:layout_weight="1.0">
|
||
|
||
<LinearLayout
|
||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content"
|
||
android:orientation="vertical"
|
||
android:gravity="center">
|
||
|
||
<LinearLayout
|
||
android:orientation="vertical"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="0dp"
|
||
android:layout_weight="1.0"
|
||
android:gravity="center_horizontal">
|
||
|
||
<TextView
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="安卓R对应的是Android 11,其API级别是30。以下是Android 11中一些重要的API相关特性:
|
||
|
||
\n- 隐私保护方面:引入单次授权,让用户可以选择授予应用对位置信息、麦克风和摄像头的临时访问权限。还增加了数据访问审核功能,能让开发者深入了解应用在何处访问私密数据。
|
||
|
||
\n- 系统功能方面:提供了ControlsProviderService API,用于向连接的外部设备提供控件,这些控件显示于Android电源菜单中的设备控件下。媒体控件也得到更新,显示于快捷设置旁,来自多个应用的会话排列在一个可滑动的轮播界面中。
|
||
|
||
\n- 硬件支持方面:提供了一些API以支持瀑布屏,通过将窗口布局属性 layoutInDisplayCutoutMode 设为 LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS ,可允许窗口延伸到屏幕各个边缘上的刘海和瀑布区域。对于合页式屏幕配置的设备,提供了具有 TYPE_HINGE_ANGLE 的新传感器以及新的 SensorEvent ,用于监控合页角度。
|
||
|
||
\n- 安全方面:对生物识别身份验证机制进行了更新,引入了 BiometricManager.Authenticators 接口,定义了 BIOMETRIC_STRONG 、 BIOMETRIC_WEAK 、 DEVICE_CREDENTIAL 等身份验证类型。还在 BiometricPrompt 类中提供了对“每次使用时进行身份验证”密钥的更多支持。
|
||
|
||
\n- 性能和质量方面:支持无线调试,通过Android调试桥(adb)从工作站以无线方式部署和调试应用,避免了常见的USB连接问题。"/>
|
||
|
||
|
||
<HorizontalScrollView
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content">
|
||
|
||
<LinearLayout
|
||
android:orientation="horizontal"
|
||
android:layout_height="wrap_content"
|
||
android:gravity="right|center_vertical"
|
||
android:layout_width="wrap_content">
|
||
|
||
<CheckBox
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="Debug Mode"
|
||
android:layout_weight="1.0"
|
||
android:onClick="onSwitchDebugMode"
|
||
android:id="@+id/activitymainCheckBox1"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="Test Application CrashReport"
|
||
android:textAllCaps="false"
|
||
android:onClick="onTestApplicationCrashReport"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="PreviewGlobalCrashActivity"
|
||
android:textAllCaps="false"
|
||
android:onClick="onPreviewGlobalCrashActivity"/>
|
||
|
||
</LinearLayout>
|
||
|
||
</HorizontalScrollView>
|
||
|
||
<ScrollView
|
||
android:layout_width="match_parent"
|
||
android:layout_height="400dp">
|
||
|
||
<LinearLayout
|
||
android:orientation="vertical"
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content"
|
||
android:gravity="right">
|
||
|
||
<LinearLayout
|
||
android:orientation="horizontal"
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content">
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StartCenter"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStartCenter"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StopCenter"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStopCenter"/>
|
||
|
||
</LinearLayout>
|
||
|
||
<HorizontalScrollView
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content">
|
||
|
||
<LinearLayout
|
||
android:orientation="horizontal"
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content">
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="SartTestDemoService"
|
||
android:textAllCaps="false"
|
||
android:onClick="onSartTestDemoService"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StopTestDemoService"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStopTestDemoService"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StopTestDemoServiceNoSettings"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStopTestDemoServiceNoSettings"/>
|
||
|
||
</LinearLayout>
|
||
|
||
</HorizontalScrollView>
|
||
|
||
<HorizontalScrollView
|
||
android:layout_width="match_parent"
|
||
android:layout_height="wrap_content">
|
||
|
||
<LinearLayout
|
||
android:orientation="horizontal"
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content">
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="SartTestDemoBindService"
|
||
android:textAllCaps="false"
|
||
android:onClick="onSartTestDemoBindService"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StopTestDemoBindService"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStopTestDemoBindService"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="StopTestDemoBindServiceNoSettings"
|
||
android:textAllCaps="false"
|
||
android:onClick="onStopTestDemoBindServiceNoSettings"/>
|
||
|
||
</LinearLayout>
|
||
|
||
</HorizontalScrollView>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="TestStopMainServiceWithoutSettingEnable"
|
||
android:textAllCaps="false"
|
||
android:onClick="onTestStopMainServiceWithoutSettingEnable"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="TestUseComponentStartService"
|
||
android:textAllCaps="false"
|
||
android:onClick="onTestUseComponentStartService"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="TestDemoServiceSOS"
|
||
android:textAllCaps="false"
|
||
android:onClick="onTestDemoServiceSOS"/>
|
||
|
||
<Button
|
||
android:layout_width="wrap_content"
|
||
android:layout_height="wrap_content"
|
||
android:text="TestOpenNewActivity"
|
||
android:textAllCaps="false"
|
||
android:onClick="onTestOpenNewActivity"/>
|
||
|
||
</LinearLayout>
|
||
|
||
</ScrollView>
|
||
|
||
</LinearLayout>
|
||
|
||
</LinearLayout>
|
||
|
||
</ScrollView>
|
||
</LinearLayout>
|
||
|