【问题标题】:SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME]SecurityException:权限拒绝:启动 Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME]
【发布时间】:2014-12-31 07:27:15
【问题描述】:

在我的应用程序中,当用户按下时,应用程序被最小化。这是 onBackPressed() 方法

@Override
public void onBackPressed() {
    Intent i = new Intent();
    i.setAction(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
}

但它向我显示了这个错误,我不知道如何解决它。请帮我解决这个问题。

这是错误日志

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=com.android.customlockapp/.CustomLockLauncher } from ProcessRecord{41490d70 456:itpp.anubhabmassretail/u0a100} (pid=456, uid=10100) not exported from uid 10061
   at android.os.Parcel.readException(Parcel.java:1425)
   at android.os.Parcel.readException(Parcel.java:1379)
   at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1761)
   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1411)
   at android.app.Activity.startActivityForResult(Activity.java:3351)
   at android.app.Activity.startActivityForResult(Activity.java:3312)
   at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:839)
   at android.app.Activity.startActivity(Activity.java:3522)
   at android.app.Activity.startActivity(Activity.java:3490)
   at itpp.anubhabmassretail.MainActivity.onBackPressed(MainActivity.java:87)
   at android.app.Activity.onKeyUp(Activity.java:2131)
   at android.view.KeyEvent.dispatch(KeyEvent.java:2633)
   at android.app.Activity.dispatchKeyEvent(Activity.java:2361)
   at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.dispatchKeyEvent(ActionBarActivityDelegateICS.java:258)
   at    com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1823)
   at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3600)
   at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3570)
   at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2809)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4794)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
   at dalvik.system.NativeStart.main(NativeStart.java)

【问题讨论】:

  • 你能解释一下为什么你试图启动主屏幕应用程序(但你的 logcat 看起来像锁定屏幕)而不关注:developer.android.com/guide/components/… 用于返回堆栈行为。
  • 因为我想最小化应用程序并显示主屏幕,所以我这样做了。还有其他有效的方法吗?
  • 您阅读了链接吗?当用户从其他应用切换到您的应用并尝试返回时会发生什么情况。用户会去哪里并遵循 Android 导航模式:developer.android.com/design/patterns/…
  • 是的,兄弟你是对的,那么还有其他方法吗?当用户按下返回按钮时我该怎么办?
  • 阅读链接。看看这个:developer.android.com/training/implementing-navigation/… 找出对您的应用程序有意义的回栈行为。祝你好运。

标签: android android-intent android-intentservice


【解决方案1】:

添加

android:exported="true"

到您的活动清单。

(有点迟到的答案,但......仍然:D)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-13
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    相关资源
    最近更新 更多