Android - 启动第三方应用程序并执行某些操作

时间:2014-08-25 12:38:00

标签: android android-intent uri launching-application

这是我的第一个问题所以请不要那么苛刻。

基本上我想用我的第三方Android应用程序打开并使用第三方应用程序执行某些操作,例如在搜索字段中搜索。

我知道如何打开另一个应用程序(有意图),但实际上并没有提供做任何事情的选项,它只是启动应用程序。

我也知道Uris用于例如游戏商店(“market:// ...”),但我想要做的事情的应用并没有真正提供这样的东西。

我不在乎是否只能使用root btw。

我希望我想要实现的目标实际上是可能的:P

非常感谢,

fandroid

2 个答案:

答案 0 :(得分:0)

这取决于另一个应用程序。您可以通过Intent提供额外信息,其他应用可能会决定如何处理它。我很快就会举例说明。

一个很好的例子是Barcode Scanner应用程序。

创建意图并启动条形码扫描程序。条形码扫描仪将打开,一旦扫描图像,它将以新的意图打开您的应用程序。

String packageString = "com.google.zxing.client.android";
    if (isPackageInstalled(packageString)) {
        Intent intent = new Intent(packageString + ".SCAN");
        intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(intent, 0);
    }
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents = data.getStringExtra("SCAN_RESULT");
            // String format = data.getStringExtra("SCAN_RESULT_FORMAT");
            Toast.makeText(MainActivity.this, contents, Toast.LENGTH_LONG)
                    .show();
            // Handle successful scan
        } else if (resultCode == RESULT_CANCELED) {
            // Handle cancel
        }
    }
}

答案 1 :(得分:0)

有一个解决方案,但为了它的工作你必须运行dalvik,ART不支持atm。

Xposed非常适合从其他应用程序中挂钩方法。

在这里查看developmet教程: https://github.com/rovo89/XposedBridge/wiki/Development-tutorial

fandroid