当前位置: 首页 > 知识库问答 >
问题:

如何用按钮点击意图打开已安装的Android应用?

祁承嗣
2023-03-14
package com.d4a.stzh;

import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.content.Intent;

import com.actionbarsherlock.app.SherlockFragment;

public class FragmentTab1 extends SherlockFragment {
    private Button appbtn;
    private Button webbtn;
    private Button toolsbttn;



    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Get the view from fragmenttab1.xml
        View view = inflater.inflate(R.layout.fragmenttab1, container, false);


        //Get the button from layout
        appbtn = (Button) view.findViewById(R.id.app);
        webbtn = (Button) view.findViewById(R.id.web);
        toolsbttn = (Button) view.findViewById(R.id.tools);

       //show all apps installed on the device 
        appbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(FragmentTab1.this.getActivity(), MyLauncherActivity.class);
                startActivity(intent);

            }


            });


        //luanches google on the default web browser
        webbtn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                String url = "http://www.google.com";
                Intent i = new Intent(Intent.ACTION_VIEW);
                i.setData(Uri.parse(url));
                startActivity(i);
            }
        });
        //tools button i know ths code is wrong!I need help here!
        toolsbttn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(FragmentTab1.this.getActivity(), MyLauncherActivity.class);
                startActivity(intent);

            }


            });

        return view;
    }


    @Override
    public void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);
        setUserVisibleHint(true);
    }

}

拉普松11

共有1个答案

饶德元
2023-03-14

这个代码段应该可以完成您想要实现的目标

Intent i;
PackageManager manager = getPackageManager();
try {
   i = manager.getLaunchIntentForPackage("com.example.schoolToolApp");
if (i == null)
    throw new PackageManager.NameNotFoundException();
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
} catch (PackageManager.NameNotFoundException e) {

}

它只会以其包名推出另一个应用程序

源代码-从您自己的(意图)打开另一个应用程序

 类似资料:
  • 问题内容: 嗨,我正在使用用于教育的android启动器,我需要它能够在用户单击学校工具按钮时启动安装在设备上的学校工具应用程序 这是代码 我仍然是android编码的新手,所以请不要判断我 任何帮助都将是惊人的提前谢谢 问候 油菜籽11 问题答案: 此代码段应完全满足您要实现的目标 它将以其程序包名称启动另一个应用程序 源- 从您自己的意图打开另一个应用程序

  • 我使用截取获取JSON提要,其中包含名称、评级和URL。我有Android上的textview,它将显示获取的名称、评级和所有内容。我有一个按钮,但它直接显示URL,因为我将文本设置为获取的URL。 目前,我得到了以下信息: 我需要将按钮的文本设置为寄存器 特此附上密码

  • 嗨,我有问题打开新窗口fxml视图后单击按钮。主窗口显示,在主视图中我有六个按钮。我想我点击按钮打开新窗口。但是,当我单击按钮时,显示异常: java.lang.Reflect.InvocationTargetException 我尝试在internet上找到的不同解决方案,但显示此异常。主要是尝试在切换函数中修改代码,负责显示新视图。我认为问题出在这里或者是在主类中的代码。

  • 在我的应用程序中,点击提交按钮(Struts),执行一个操作类方法,该方法设置bean的“更新网址”属性。我想要的是我需要在设置bean完成后在新浏览器中打开的网址,而用户不必做任何其他事情,比如单击链接。我找不到做这件事的正确方法。 下面是一些代码: 我的JSP:

  • 为了保持一致,我将列出它们: > 在活动中拥有类的成员,并将其分配给将在活动方法中处理逻辑的实例。 在'on Create'活动方法中创建'on ClickListener',并使用setOnClickListener将其分配给按钮 附言。我试着用谷歌搜索这个主题,但我找到的唯一的东西是描述“如何”做到这一点,而不是为什么它是好是坏。

  • 问题内容: 如何通过单击中的按钮来打开Facebook和Instagram应用程序?某些应用程序重定向到Facebook应用程序并打开特定页面。我该怎么做? 我找到了: 但我必须知道该应用程序。其他示例在中,我不知道= / 问题答案: 看一下这些链接,它可以帮助您: https://instagram.com/developer/mobile-sharing/iphone- hooks/ http