2017-07-26 3 views
-3

Ich versuche, auf Twitter posten unter CodeSicherheit Ausnahme: Permission Denial auf Twitter zu veröffentlichen

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; 
     } 
    } 

Und dieser Code wirft Sicherheitsausnahme. Bitte helfen Sie.

+0

Beitrag Ausnahmeprotokoll als auch –

+0

@kapsym java.lang.SecurityException: Permission Denial: Start Intent {act = android.intent.action.SEND cat = [android.intent.category.LAUNCHER] typ = text/Ebene flg = 0x10200001 cmp = com.twitter.android/.composer.ComposerActivity clip = {text/plain T:} (hat Extras)} aus ProcessRecord {3745232 4862: com.et.reader.activities/u0a219} (pid = 4862 , uid = 10219) nicht aus uid 10135 –

+0

exportiert Warum brauchen Sie intent.addCategory (Intent.CATEGORY_LAUNCHER); –

Antwort

0

Sie müssen Android: exportierte = "True" in Ihrer AndroidManifest.xml-Datei, wo Sie diese Aktivität deklarieren.

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

Ich versuche auf Twitter zu posten. Wie kann ich Android: exportierte = "wahr" für Twitter-Aktivität. –

Verwandte Themen