【发布时间】:2019-12-30 21:49:47
【问题描述】:
这是日志,我在运行 Oero 操作系统的三星崩溃时收到:
致命异常:java.lang.SecurityException:权限被拒绝: 开始意图 { act=android.intent.action.SEND typ=text/plain flg=0x80001 pkg=com.google.android.apps.maps cmp=com.google.android.apps.maps/com.google.android.apps.gmm.sharing.SendTextToClipboardActivity clip={text/plain T:"XYZ"
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
share.setComponent(new ComponentName(packageName, resolveInfo.activityInfo.name));
share.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
share.putExtra(Intent.EXTRA_TEXT, shareMessage);
share.setPackage(packageName);
请提出建议。
谢谢
【问题讨论】:
-
您能否提供触发此崩溃的代码?
-
请检查添加了我的代码
-
不幸的是,
queryIntentActivities()和类似的PackageManager方法不会过滤掉您没有启动权限的方法。显然,com.google.android.apps.maps/com.google.android.apps.gmm.sharing.SendTextToClipboardActivity支持ACTION_SEND,但不是来自您的应用程序。 -
那么解决这个问题的方法是什么
-
没有,除了不要尝试将
ACTION_SEND与任意ComponentName一起使用。
标签: android android-intent android-8.0-oreo