当前位置: 首页 > 知识库问答 >
问题:

如何以编程方式在Infinix手机中启动受保护的应用程序活动?

董翰池
2023-03-14

我正试图通过编程方式在Infinix手机中将我的应用程序作为受保护的应用程序进行检查。。但这似乎是不可能的,所以我正在尝试启动XManager中存在的受保护应用程序活动

我成功地通过这个代码打开了XManager

try {
      startActivity(new Intent().setClassName("com.transsion.mobilebutler",
                    "com.transsion.mobilebutler.MainActivity"));

        } catch (Exception e) {
            Log.d("tag", "e " + e.toString());
        }

我不能按程序做其他事情

当我试图用此代码启动设置活动时

 try {
            startActivity(new Intent().setComponent(new ComponentName("com.transsion.mobilebutler",
                    "com.transsion.mobilebutler.SettingsActivity")));

        } catch (Exception ex) {
            Log.d("tag", "ex " + ex.toString());

        }

我有个例外

  java.lang.SecurityException: Permission Denial: starting Intent

我也尝试直接启动受保护的应用程序,但我再次得到了同样的例外

try {
            Intent intent = new Intent();
            intent.setClassName("com.transsion.mobilebutler", 
                    "com.transsion.mobilebutler.applicationmanager.view.activities.MemoryAccelerateWhitelistActivity");
            startActivity(intent);
        } catch (Exception e) {
            Log.d("tag", "e " + e.toString());

更新

此异常的一些答案建议在我添加活动时添加android:exported=“true”以显示未解决的类错误

    <activity android:name="com.transsion.mobilebutler.SettingsActivity" android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
        </intent-filter>
    </activity>

有办法解决这个问题吗?

共有1个答案

戚令秋
2023-03-14

你显然不能这么做。您获得“权限被拒绝”异常的原因是您尝试启动的活动未“导出”(即:不可由其所属应用以外的应用启动)。

您只能启动主设置屏幕。任何应用程序都可以启动此功能。“受保护应用”的特定设置屏幕只能由设置应用程序本身启动。

你不需要设置android:导出="true"在你的应用程序中的任何东西,因为异常被抛出,因为你试图启动的活动没有导出。

 类似资料:
  • 问题内容: 我正在尝试构建一个android应用程序,此应用程序的主要功能之一是使其能够在手机启动时自动启动活动,我在手机上看到一些应用程序已经执行了此操作,因此任何帮助都将非常有用。我可以至少通过sdk对此进行更好的研究,谢谢! 问题答案: 您需要像这样实现BroadCastreceiver: 在清单中添加以下内容: 添加权限:

  • 本文向大家介绍如何以编程方式“重启” iOS应用程序?,包括了如何以编程方式“重启” iOS应用程序?的使用技巧和注意事项,需要的朋友参考一下 无论如何,您都无法重启iOS应用程序,即使您能够使用某些私有api,您的应用程序也将被Apple拒绝,并且不会被视为App Store版本。

  • 最终Uri packageURI=Uri.parse(getApplicationContext().getPackageName().toString());final Intent Intent=new Intent(Android.content.Intent.action_view,packageURI);intent.setDataandtype(uri.fromfile(file),“

  • 我正在使用KeyClope来保护我的Spring Boot rest应用程序。 该应用程序还具有React前端。 我的问题是-前端是否也应该使用KeyClope进行保护? 如果没有,您将在何时保护前端和后端?

  • 问题内容: 有没有一种方法可以在运行时从家庭启动器中删除活动?我的意思是从其属性或类似的东西删除。 问题答案: 您可以通过禁用组件,将其从启动器中删除。

  • 问题内容: 如标题所述,我想以编程方式检查域的DNS响应是否受DNSSEC保护。 我该怎么办? 如果有Pythonic解决方案,那就太好了。 更新:更改了响应请求,对于您的困惑感到抱歉 问题答案: 使用DNS解析器(例如),您可以查询域的DNSKEY RRset并打开(dnssec OK)查询标志。如果查询成功,则答案将设置(已认证数据)标志,并将包含区域的RRSIG签名(如果已签名)。 更新:使