我认为我的问题很容易解决。我有 2 个可能的意图,并且都使用它们的默认类别来让选择器看到,但是如果我想添加额外的,选择器甚至都不会启动!
两者都有 manifest.xml
1 <activity
2 android:name=".OneActivity"
3 android:label="OA">
4 <intent-filter>
5 <action android:name="specialpackage.package.LOCALIZE"/>
6 <category android:name="android.intent.category.DEFAULT"/>
7 </intent-filter>
8 </activity>
在活动内部:
1 Intent intent = Intent.createChooser(new Intent("specialpackage.package.LOCALIZE"), "App auswählen:");
2 intent.putExtra("someNotes", currentNote); //Is defined and not important
3 intent.putParcelableArrayListExtra("notes", notes);
4 startActivity(intent);
(ArrayList<DBH.Note> notes = helper.getNotes(currentProject);)
如果我注释掉 2 和 3 它可以工作,让我选择我的应用程序。如果我不使用选择器和 putExtra 和 ParcelableArrayListExtra 对 .OneActivity 的简单意图,它可以工作._。
我只能更改清单和此类._。也许 startActivityOnResult 不知何故?已经试过了,还是不行。
编辑1:
1 Intent testintent = new Intent("specialpackage.package.LOCALIZE");
2 testintent.putExtra("current note", currentNote);
3 testintent.putParcelableArrayListExtra("notes", notes);
4 Intent intent = Intent.createChooser(testintent, "App auswählen:");
5 startActivity(intent);
也不起作用:D 正如我所说,没有 putExtra 它可以工作,但是如果我在 Debugger 中使用 putExtra,它会将 Extra 放在意图上,但在 startActivity 上它说 android 正在反复关闭(抱歉,英语不好,我是德语 xD)