【发布时间】:2019-03-08 10:46:08
【问题描述】:
我正在尝试以编程方式将我的应用程序作为 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>
有什么办法可以解决这个问题吗?
【问题讨论】:
-
您是否在
AndroidManifest.xml中设置了android:exported="true"?检查此链接:stackoverflow.com/questions/19829507/… -
不知道怎么用?因为我没有在清单中声明受保护的应用程序活动,我该怎么做?
-
请在
starting Intent之后添加整个logcat 好吗?另外,您是否尝试按照建议的方式删除intent-filter? -
这里很难发布整个logcat,如果你在解决这个问题之前可以分享你的代码吗?
标签: android android-intent android-activity