【问题标题】:Security Exception : Permission Denial on posting to Twitter安全例外:在 Twitter 上发布的权限被拒绝
【发布时间】:2017-07-26 15:38:13
【问题描述】:

我正在尝试使用以下代码在 Twitter 上发帖

 Intent intent = new Intent(android.content.Intent.ACTION_SEND);
    intent.setType("text/plain");
    final PackageManager pm = context.getPackageManager();
    final List<ResolveInfo> activityList = pm.queryIntentActivities(intent, 0);
    for (final ResolveInfo app : activityList) {
        if (app.activityInfo.packageName.endsWith(PACKAGE_TWITTER)) {
            final ActivityInfo activity = app.activityInfo;
            final ComponentName name = new ComponentName(activity.applicationInfo.packageName, activity.name);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
            intent.putExtra(Intent.EXTRA_TEXT, strBody);
            intent.setComponent(name);
            context.startActivity(intent);
            break;
        }
    }

并且此代码引发安全异常。请帮忙。

【问题讨论】:

  • 也发布异常日志
  • @kapsym java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.SEND cat=[android.intent.category.LAUNCHER] typ=text/plain flg=0x10200001 cmp=com.twitter.android/.composer.ComposerActivity clip={text/plain T:}(有额外内容)}来自 ProcessRecord{3745232 4862:com.et.reader.activities/u0a219}(pid=4862,uid=10219 ) 未从 uid 10135 导出
  • 为什么需要intent.addCategory(Intent.CATEGORY_LAUNCHER);
  • 您不需要启动器类别。删除那行代码。点击此链接使其工作 - stackoverflow.com/questions/21088250/…
  • 你提到的链接,我已经在使用那个代码了。但是这段代码在 Marshmallow 及以上设备上给出了异常。

标签: android android-permissions


【解决方案1】:

您需要在您声明此 Activity 的 AndroidManifest.xml 文件中设置 android:exported="true"。

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

【讨论】:

  • 我正在尝试在 Twitter 上发帖。如何为 Twitter 活动设置 android:exported="true"。
猜你喜欢
  • 1970-01-01
  • 2020-03-22
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
相关资源
最近更新 更多