1.客制应用需要直接打开蓝牙界面的接口,Android R里面默认没有所以重新添加一个
Index: packages/apps/Settings/AndroidManifest.xml
===================================================================
--- packages/apps/Settings/AndroidManifest.xml (revision 11165)
+++ packages/apps/Settings/AndroidManifest.xml (revision 11166)
@@ -419,10 +419,10 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
- <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment" />
</activity-alias>
-
+
<!-- Keep compatibility with old shortcuts. -->
<activity-alias android:name=".bluetooth.BluetoothSettings"
android:label="@string/devices_title"
@@ -3192,6 +3192,21 @@
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
+
+ <!---->
+ <activity
+ android:name="Settings$BluetoothConnectActivity"
+ android:label="@string/bluetooth_settings_title">
+ <intent-filter android:priority="1">
+ <action android:name="com.android.settings.BLUETOOTH_CONNECT_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.connecteddevice.BluetoothDashboardFragment" />
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true" />
+ </activity>
+
<activity android:name="Settings$BluetoothDeviceDetailActivity"
android:label="@string/device_details_title"
Index: packages/apps/Settings/src/com/android/settings/dashboard/DashboardFragmentRegistry.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/dashboard/DashboardFragmentRegistry.java (revision 11165)
+++ packages/apps/Settings/src/com/android/settings/dashboard/DashboardFragmentRegistry.java (revision 11166)
@@ -44,6 +44,7 @@
import com.android.settings.security.LockscreenDashboardFragment;
import com.android.settings.security.SecuritySettings;
import com.android.settings.system.SystemDashboardFragment;
+import com.android.settings.connecteddevice.BluetoothDashboardFragment;
import com.android.settingslib.drawer.CategoryKey;
import java.util.Map;
@@ -75,6 +76,8 @@
CategoryKey.CATEGORY_CONNECT);
PARENT_TO_CATEGORY_KEY_MAP.put(AdvancedConnectedDeviceDashboardFragment.class.getName(),
CategoryKey.CATEGORY_DEVICE);
+ PARENT_TO_CATEGORY_KEY_MAP.put(BluetoothDashboardFragment.class.getName(),
+ CategoryKey.CATEGORY_BLUETOOTH);
PARENT_TO_CATEGORY_KEY_MAP.put(AppAndNotificationDashboardFragment.class.getName(),
CategoryKey.CATEGORY_APPS);
PARENT_TO_CATEGORY_KEY_MAP.put(PowerUsageSummary.class.getName(),
Index: packages/apps/Settings/src/com/android/settings/core/SubSettingLauncher.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/core/SubSettingLauncher.java (revision 11165)
+++ packages/apps/Settings/src/com/android/settings/core/SubSettingLauncher.java (revision 11166)
@@ -29,6 +29,7 @@
import com.android.settings.SettingsActivity;
import com.android.settings.SubSettings;
+import android.util.Log;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class SubSettingLauncher {
@@ -148,13 +149,11 @@
throw new IllegalArgumentException("Destination fragment must be set");
}
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT, mLaunchRequest.destinationName);
-
if (mLaunchRequest.sourceMetricsCategory < 0) {
throw new IllegalArgumentException("Source metrics category must be set");
}
intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
mLaunchRequest.sourceMetricsCategory);
-
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS, mLaunchRequest.arguments);
intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RES_PACKAGE_NAME,
mLaunchRequest.titleResPackageName);
Index: packages/apps/Settings/src/com/android/settings/core/gateway/SettingsGateway.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/core/gateway/SettingsGateway.java (revision 11165)
+++ packages/apps/Settings/src/com/android/settings/core/gateway/SettingsGateway.java (revision 11166)
@@ -62,6 +62,7 @@
import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
import com.android.settings.bugreporthandler.BugReportHandlerPicker;
import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
+import com.android.settings.connecteddevice.BluetoothDashboardFragment;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
@@ -168,6 +169,7 @@
*/
public static final String[] ENTRY_FRAGMENTS = {
AdvancedConnectedDeviceDashboardFragment.class.getName(),
+ BluetoothDashboardFragment.class.getName(),
CreateShortcut.class.getName(),
WifiSettings.class.getName(),
WifiSettings2.class.getName(),
Index: packages/apps/Settings/src/com/android/settings/Settings.java
===================================================================
--- packages/apps/Settings/src/com/android/settings/Settings.java (revision 11165)
+++ packages/apps/Settings/src/com/android/settings/Settings.java (revision 11166)
@@ -34,6 +34,7 @@
*/
public static class AssistGestureSettingsActivity extends SettingsActivity { /* empty */}
public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ }
+ public static class BluetoothConnectActivity extends SettingsActivity { /* empty */ }
public static class CreateShortcutActivity extends SettingsActivity { /* empty */ }
public static class FaceSettingsActivity extends SettingsActivity { /* empty */ }
public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ }