“当我启动Intent时,Android会弹出一个”使用完整操作“对话框。”

时间:2012-02-28 23:50:10

标签: android android-dialog

任何人都可以提供以下源代码示例:

“当我启动一个Intent时,Android会弹出一个”使用完整操作“对话框。”

3 个答案:

答案 0 :(得分:2)

当有两个或更多应用程序在其清单中声明它们处理相同的意图时,Android将显示该对话框。为了演示此行为,您需要的是两个响应相同意图的示例应用程序 - 您可以找到一个简单的Hello World示例,克隆它并修改清单以为其中一个提供不同的名称,以及第三个调用的应用程序startActivity()具有相同的意图。

答案 1 :(得分:1)

如果您希望将自己的应用列为选项之一... 您需要做两件事......以下是活动的代码

public class YourActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String value = getIntent().getStringExtra(Intent.EXTRA_TEXT);
    }
}

然后您需要将其添加到AndroidManifest.xml

<activity android:name=".YourPageActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>

如果您不想使用.SEND

,可以在此处找到完整的操作列表及其数据

http://developer.android.com/reference/android/content/Intent.html

您需要在AndroidManifest.xml中使用常量值,例如ACTION_SEARCH将为“android.intent.action.SEARCH”

如果您想提出应用中的选项列表......

btnShare.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        final String value = txtLongUrl.getText().toString();

        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.putExtra(Intent.EXTRA_TEXT, value);
        intent.setType("text/plain");

        startActivity(intent);
    }
}

有关工作示例,请参阅DBitly

答案 2 :(得分:0)

如果您只想查看此弹出窗口,请尝试执行具有多个现有应用程序的操作来处理它。

例如,发送一条带有电子邮件地址的短信。电子邮件地址将变为您可以触摸的链接,默认选项会显示Complete action using弹出窗口,提供GmailMail