当您startActivity()
使用选择器时,Android 会列出所有有权处理您的应用程序Intent
以及将此分配设置为永久或一次性的选项(在 ICSAlways
和Just once
操作按钮上,在 2.x 上是复选框)。但是对于此代码:
public class Redirector {
public static void showActivityWithChooser( Context context, int chooserLabelTitleId, Intent intent ) {
try {
context.startActivity( Intent.createChooser( intent,
context.getResources().getString( chooserLabelTitleId )) );
} catch( Exception e ) {
e.printStackTrace();
}
}
public static void viewInExternalApplication( Context context, String url ) {
Intent intent = new Intent( Intent.ACTION_VIEW );
intent.setData( Uri.parse( url ) );
intent.addFlags( Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET );
showActivityWithChooser( context, R.string.open_chooser_title, intent );
}
}
我看不到任何Always | Just once
按钮,也无法使我的选择永久化。我忽略了什么使 Android 无法让用户选择持久化?
看图片:左边的对话框是我想看到的,但右边是我现在得到的(两个对话框中不同数量的应用程序无关):