0

我不能加startactivity(intent)。我正在尝试使用意图转到另一个应用程序。

有人可以告诉我如何向我的叠加层添加意图。我有一个按钮来显示这种意图。

public class AddItemizedOverlay extends ItemizedOverlay<OverlayItem> {
    private ArrayList<OverlayItem> mapOverlays = new ArrayList<OverlayItem>();

    private Context context;

    public AddItemizedOverlay(Drawable defaultMarker) {
        super(boundCenterBottom(defaultMarker));
    }

    public AddItemizedOverlay(Drawable defaultMarker, Context context) {
        this(defaultMarker);
        this.context = context;
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mapOverlays.get(i);
    }

    @Override
    public int size() {
        return mapOverlays.size();
    }

    @Override
    protected boolean onTap(int index) {
        final OverlayItem item = this.mapOverlays.get(index);
        final Dialog dialog = new Dialog(this.context);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.setContentView(R.layout.dialog_layout);
        TextView title = (TextView)dialog.findViewById(R.id.title);
        TextView subtitle = (TextView)dialog.findViewById(R.id.subtitle);
        Button get = (Button)dialog.findViewById(R.id.get);
        title.setText(item.getTitle());
        String Snip = item.getSnippet();
        String Alamat = Snip.substring(0, Snip.indexOf('-'));
        subtitle.setText(Alamat);
        final String Geo = Snip.substring(Snip.indexOf('-') + 1);

        get.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view){

                String url = Geo;
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
                startActivity(i); // this line is the error code
            }
        });


        dialog.show();
        return true;
    }

    public void addOverlay(OverlayItem overlay) {
        mapOverlays.add(overlay);
        this.populate();
    }
}
4

1 回答 1

1

你可以使用这个:

try {
    Intent i = getPackageManager().getLaunchIntentForPackage("com.dropbox.android");
    startActivity(i);
} catch (Exception e) {
        Toast.makeText(getApplicationContext(),"Dropbox Application Not Installed",Toast.LENGTH_SHORT).show();
}

在这里,我使用包名 com.dropbox.android 打开了“Dropbox 应用程序”。

您可以将此包名称替换为您的。

于 2013-05-25T17:26:40.320 回答