相关疑难解决方法(0)

在Android浏览器中建立一个链接启动我的应用程序?

是否可以建立如下链接:

<a href="anton://useful_info_for_anton_app">click me!</a>
Run Code Online (Sandbox Code Playgroud)

导致我的Anton应用程序启动?

我知道这适用于具有市场协议的Android Market应用程序,但是可以与其他应用程序类似吗?

以下是启动Android电子市场的链接示例:

<a href="market://search?q=pname:com.nytimes.android">click me!</a>
Run Code Online (Sandbox Code Playgroud)

更新: 我接受eldarerat提供的答案很有用,但我只想提一下,我对<intent-filter>标签的子元素的顺序有些麻烦.我建议您只<intent-filter>使用该标签中的新子元素制作另一个,以避免我遇到的问题.例如我AndroidManifest.xml看起来像这样:

<activity android:name=".AntonWorld"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <data android:scheme="anton" />
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

android

221
推荐指数
6
解决办法
24万
查看次数

检查是否安装了应用程序 - Android

我正在尝试从Google Play安装应用.我可以理解,在打开Goog​​le Play商店网址时,它会打开Goog​​le Play,当我按下后退按钮时,活动会恢复.

Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(appURL));
marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
startActivity(marketIntent);
Run Code Online (Sandbox Code Playgroud)

当我回到活动时,我试着调用它onResume()来检查应用程序是否已安装,但是我收到错误:

@Override
protected void onResume() {
    super.onResume();
    boolean installed = false;
    while (!installed) {
        installed  =   appInstalledOrNot(APPPACKAGE);
        if (installed) {
             Toast.makeText(this, "App installed", Toast.LENGTH_SHORT).show();
        }
    }
}

private boolean appInstalledOrNot(String uri) {
  PackageManager pm = getPackageManager();
  boolean app_installed = false;
  try {
      pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
      app_installed = true;
  }
  catch (PackageManager.NameNotFoundException e) {
      app_installed = false;
  }
  return app_installed ;
}
Run Code Online (Sandbox Code Playgroud)

错误如下:

E/AndroidRuntime(796):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.appinstaller/com.example.appinstaller.MainActivity}:android.content.ActivityNotFoundException:找不到处理Intent的活动{act = …

android android-intent google-play

84
推荐指数
5
解决办法
10万
查看次数

通过Chrome意图将引荐来源数据传递给Google Play

所以我有一个移动网络,试图打开我的Android应用程序,如果它不存在,它将回退到谷歌播放.

对于chrome,我使用这个意图:

intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name;end
Run Code Online (Sandbox Code Playgroud)

它工作正常,现在我想在应用程序中为INSTALL_REFERRER发送一些引用字符串谷歌播放.

我尝试了以下链接,没有将数据发送到谷歌播放的问题,但它不会尝试打开应用程序

intent://some_data_sent_to_app#Intent;scheme=app_scheme;package=package_name&referrer=referrer_string;end

我想知道打开应用程序的正确方法是什么,并且通过引用者数据传回谷歌游戏?

android google-chrome referrals intentfilter android-intent

21
推荐指数
2
解决办法
4043
查看次数