Android打开另一个应用程序并单击按钮

时间:2018-01-16 18:12:09

标签: android

我想知道有没有办法打开另一个应用程序并点击某个按钮。在我的情况下,我需要从我的应用程序(使用意图)打开游戏市场应用程序,然后单击“更新”按钮。

如果我在另一个应用程序中,可以使用perl -i -pe'if ($r = /^\s*enum/ .. /}\s*$/) { s/$/,/ if $r!=1 && $r!~/E0$/ }' file 这样的方法会很棒。

1 个答案:

答案 0 :(得分:2)

如果您知道包名称,则非常容易,只需在按钮上调用以下方法onClick。

 /** Open another app.
     * @param context current Context, like Activity, App, or Service
     * @param packageName the full package name of the app to open
     * @return true if likely successful, false if unsuccessful
     */
    public static boolean openApp(Context context, String packageName) {
        PackageManager manager = context.getPackageManager();
        try {
            Intent i = manager.getLaunchIntentForPackage(packageName);
            if (i == null) {
                return false;
                //throw new ActivityNotFoundException();
            }
            i.addCategory(Intent.CATEGORY_LAUNCHER);
            context.startActivity(i);
            return true;
        } catch (ActivityNotFoundException e) {
            return false;
        }
    }

使用示例:

要打开Goog​​le Play的软件包名称,请输入com.android.vending。

openApp(this, "com.android.vending");

如果您想查询手机中的套餐或应用列表,请查看此link

您需要在onCreate中调用onClickListener,如下面的代码。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view_spot);

    playstoreLaunch = (Button) findViewById(R.id.launch_playstore);

    // Launch button click event
    playstoreLaunch.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
           openApp(MainActivity.this, "com.android.vending");
        }
    });
}