我想知道有没有办法打开另一个应用程序并点击某个按钮。在我的情况下,我需要从我的应用程序(使用意图)打开游戏市场应用程序,然后单击“更新”按钮。
如果我在另一个应用程序中,可以使用perl -i -pe'if ($r = /^\s*enum/ .. /}\s*$/) { s/$/,/ if $r!=1 && $r!~/E0$/ }' file
这样的方法会很棒。
答案 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;
}
}
使用示例:
要打开Google 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");
}
});
}