gpt4 book ai didi

java.lang.SecurityException :Unable to find app for caller android. app.ApplicationThreadProxy 注册接收器 android.content.IIntentReceiver 时

转载 作者:行者123 更新时间:2023-11-29 04:35:43 30 4
gpt4 key购买 nike

当用户在安装我的应用程序后首次登录时会发生此错误。但在下一次启动时(当用户已经登录时)应用程序运行正常。

在我的应用程序中,我使用了一个 BroadcastReceiver,它用于检查互联网连接。

具体来说,应用程序在注册 BroadcastReceiver 时出现上述 Exception。非常感谢任何帮助!

我的 logcat 如下所示

java.lang.RuntimeException: Unable to resume activity {com.android.myproject/com.android.myproject.MapActivity}: java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThreadProxy@43155660 (pid=24211) when registering receiver android.content.IIntentReceiver$Stub$Proxy@43151368
1 at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2762)
2 at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2791)
3 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1288)
4 at android.os.Handler.dispatchMessage(Handler.java:99)
5 at android.os.Looper.loop(Looper.java:137)
6 at android.app.ActivityThread.main(ActivityThread.java:5095)
7 at java.lang.reflect.Method.invokeNative(Native Method)
8 at java.lang.reflect.Method.invoke(Method.java:511)
9 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:845)
10 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
11 at dalvik.system.NativeStart.main(Native Method)
12Caused by: java.lang.SecurityException: Unable to find app for caller android.app.ApplicationThreadProxy@43155660 (pid=24211) when registering receiver android.content.IIntentReceiver$Stub$Proxy@43151368
13 at android.os.Parcel.readException(Parcel.java:1425)
14 at android.os.Parcel.readException(Parcel.java:1379)
15 at android.app.ActivityManagerProxy.registerReceiver(ActivityManagerNative.java:2228)
16 at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1356)
17 at android.app.ContextImpl.registerReceiver(ContextImpl.java:1324)
18 at android.app.ContextImpl.registerReceiver(ContextImpl.java:1318)
19 at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:423)
20 at com.android.myproject.MapActivity.onResumeOperations(MapActivity.java:584)
21 at com.android.myproject.MapActivity.onResume(MapActivity.java:618)
22 at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)
23 at android.app.Activity.performResume(Activity.java:5203)
24 at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2752)

为了澄清我的问题,我的 onResumeOperations() 看起来像

 public void onResumeOperations(){
if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER )&& !isFinishing()) {
ShowGpsDialog();
} else {
removeGpsDialog();
}

registerReceiver(internetConnectionReciever, new IntentFilter(
"android.net.conn.CONNECTIVITY_CHANGE"));
registerReceiver(GpsChangeReceiver, new IntentFilter(
LocationManager.PROVIDERS_CHANGED_ACTION));
isRecieverRegistered = true;

if (AndyUtils.isNetworkAvailable(this)
&& manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
if (!isDataRecieved) {

checkStatus();
startLocationUpdateService();
// getPreReservations();
}
}

registerIsApproved();

startRepeatingChecker();
}

onResumeOperations()onResume() 中调用。正如我之前提到的,问题发生在注册 internetConnectionReceiver 时。

最佳答案

此错误表示与处理 Intent 的另一个进程通信时出错。

发送一个 intent 时可能会发生此错误,intent extras 太大,大于最大事务大小 (1Mb)。

不推荐通过 extras 传递高分辨率照片或大文件,最佳做法是将文件保存在外部存储上,获取对它的 Uri 引用并发送this ref as String in your intent's extra

yourIntent.putExtra("key", yourUri.toString)

也可以在 activity 标签中尝试 android:exported="true"

<activity
android:name=".your_activity"
android:label="@string/app_name"
android:exported="true">

将导出的标签设置为true 意味着与我的应用程序无关的另一个应用程序可以访问它

关于java.lang.SecurityException :Unable to find app for caller android. app.ApplicationThreadProxy 注册接收器 android.content.IIntentReceiver 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670527/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com