修改apk调用蓝牙无明确提示

在源码里第三方apk调用蓝牙时直接打开,无明确权限提示,过CTA认证时会报此问题,修改方法:

diff --git a/frameworks/base/services/core/java/com/android/server/BluetoothManagerService.java b/frameworks/base/services/core/java/com/android/server/BluetoothManagerService.java
index 06d80dc…1ecc217 100644 (file)
— a/frameworks/base/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/frameworks/base/services/core/java/com/android/server/BluetoothManagerService.java
@@ -72,6 +72,13 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;

+import android.app.IActivityManager;
+import android.app.ActivityManager.RunningAppProcessInfo;
+import java.util.Iterator;
+import java.util.List;
+import android.app.ActivityManagerNative;
+import android.util.Log;
+
//M: ALPS03484437: Handle NoSuchElementException
import java.util.NoSuchElementException;

@@ -961,9 +968,11 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
throw new SecurityException("Package " + callingUid
+ " not in uid " + callingUid);
}

  •                   ///修改第三app调用蓝牙无明确提示 
    
  •                   String appName = applicationInfo.loadLabel(mContext.getPackageManager()).toString();///gu
           Intent intent = new Intent(intentAction);
           intent.putExtra(Intent.EXTRA_PACKAGE_NAME, packageName);
    
  •        intent.putExtra("APP_NAME", appName);///gu
           intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                   | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
           try {
    

diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml b/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
index 8363017…2b78e9b 100644 (file)
— a/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
+++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values-zh-rCN/strings.xml
@@ -3752,4 +3752,6 @@

 <!--connect type-->
 <string name="Connect_Type">连接类型</string>
  • <string name="bluetooth_ask_enablement_with_packagename">"%1$s想要开启此设备的蓝牙开关。"</string>
    
diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml b/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml index d95356f..56620bf 100644 (file) --- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml +++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/res/values/strings.xml @@ -9088,4 +9088,6 @@
 <!--connect type-->
 <string name="Connect_Type">Connect Type</string>
  • %1$s wants to turn Bluetooth ON for this device.

    diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionActivity.java
    index ef25a9f…f9ad9bb 100644 (file)
    — a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionActivity.java
    +++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionActivity.java
    @@ -70,7 +70,9 @@ public class RequestPermissionActivity extends Activity implements
    private BroadcastReceiver mReceiver;

    private @NonNull CharSequence mAppLabel;

  •   ///修改第三方调用蓝牙无明确提示 add by hxy029
    
  •   private String mAppName;
    
  • @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    @@ -127,6 +129,11 @@ public class RequestPermissionActivity extends Activity implements
    */
    Intent intent = new Intent(this, RequestPermissionHelperActivity.class);
    intent.setAction(RequestPermissionHelperActivity.ACTION_INTERNAL_REQUEST_BT_ON);
  •                                   ///修改第三方调用蓝牙无明确提示 ///{{&&
    
  •                if (mAppName != null) {
    
  •                                           intent.putExtra("APP_NAME", mAppName);
    
  •                                                                              }
    
  •                                   ///&&}}
                   /// M: add a flag for CR ALPS00379011
                   intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                   intent.putExtra(RequestPermissionHelperActivity.EXTRA_APP_LABEL, mAppLabel);
    

@@ -306,6 +313,7 @@ public class RequestPermissionActivity extends Activity implements
}
if (intent.getAction().equals(BluetoothAdapter.ACTION_REQUEST_ENABLE)) {
mRequest = REQUEST_ENABLE;

  •        mAppName = intent.getStringExtra("APP_NAME");///修改第三方调用蓝牙无明确提示
       } else if (intent.getAction().equals(BluetoothAdapter.ACTION_REQUEST_DISABLE)) {
           mRequest = REQUEST_DISABLE;
       } else if (intent.getAction().equals(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE)) {
    

diff --git a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionHelperActivity.java b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionHelperActivity.java
index 9ea8372…18f714c 100644 (file)
— a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionHelperActivity.java
+++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/RequestPermissionHelperActivity.java
@@ -62,7 +62,9 @@ public class RequestPermissionHelperActivity extends AlertActivity implements
private int mTimeout = -1;

 private int mRequest;
  •   ///修改第三方调用蓝牙无明确提示 
    
  •   private String mAppName;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    @@ -90,9 +92,11 @@ public class RequestPermissionHelperActivity extends AlertActivity implements
    switch (mRequest) {
    case RequestPermissionActivity.REQUEST_ENABLE: {
    if (mTimeout < 0) {
  •                p.mMessage = mAppLabel != null
    
  •                        ? getString(R.string.bluetooth_ask_enablement, mAppLabel)
    
  •                        : getString(R.string.bluetooth_ask_enablement_no_name);
    
  •                 if (mAppName != null) {///修改第三方调用蓝牙无明确提示
    
  •                           p.mMessage = getString(R.string.bluetooth_ask_enablement_with_packagename, mAppName);
    
  •                   } else {
    
  •                           p.mMessage = getString(R.string.bluetooth_ask_enablement);
    
  •                   }  
               } else if (mTimeout == BluetoothDiscoverableEnabler.DISCOVERABLE_TIMEOUT_NEVER) {
                   p.mMessage = mAppLabel != null
                           ? getString(
    

@@ -162,6 +166,7 @@ public class RequestPermissionHelperActivity extends AlertActivity implements
String action = intent.getAction();
if (ACTION_INTERNAL_REQUEST_BT_ON.equals(action)) {
mRequest = RequestPermissionActivity.REQUEST_ENABLE;

  •        mAppName = intent.getStringExtra("APP_NAME");///修改第三方调用蓝牙无明确提示 
           if (intent.hasExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION)) {
               // Value used for display purposes. Not range checking.
               mTimeout = intent.getIntExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION,
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要替换APK内的蓝牙包,首先需要了解APK是一种安装包文件,而蓝牙包是蓝牙功能的相关文件。要替换蓝牙包,可以按照以下步骤进行: 1. 下载新的蓝牙包:首先需要找到适用于目标设备的新蓝牙包文件。可以从官方网站、开发者论坛或第三方资源网站下载到最新版的蓝牙包文件。 2. 解压蓝牙包文件:下载完成后,将蓝牙包文件解压缩到一个合适的目录,确保蓝牙包内包含了所需的必要文件。 3. 连接目标设备:通过USB线或其他连接方式,将目标设备与电脑连接起来。 4. 进入APK文件:使用文件管理器找到之前下载好的APK文件,并将其复制到电脑上。 5. 解压APK文件:使用解压缩软件,如WinRAR, 7zip等,打开APK文件,并解压缩到一个指定的文件夹。 6. 替换蓝牙包:在解压缩后的APK文件夹内,找到原始的蓝牙包文件。用之前下载的新的蓝牙包文件替换原始的蓝牙包文件。 7. 重新打包APK文件:在替换了蓝牙包文件后,使用相应的工具将APK文件重新打包并生成新的APK安装包。 8. 安装新APK:将生成的新APK安装包传输到目标设备上,并进行安装。 9. 测试蓝牙功能:在设备上打开新安装的APK应用程序,测试蓝牙功能是否正常工作。 需要注意的是,替换APK蓝牙包需要一定的技术操作,建议在进行前先备份重要的文件,并确保具备相关知识和经验,以免操作不当造成设备损坏或数据丢失。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值