21

AndroidでQRコードリーダーを使用してアプリケーションを起動できるかどうかを知りたいです。私が達成したいことは次のとおりです。

QRコードを作成し、QRコードリーダーでスキャンした後、いくつかのパラメーターでアプリケーションを開始する必要があります.myApp://org.hardartcore.myApp?myParamsまたはこれに似たものになるかもしれませんが、実際にはそうではありません.もちろん。

とにかくこれを達成し、アプリケーションを起動する目的でqrコードに組み込まれているパラメータを取得することはありますか.

4

3 に答える 3

18

このテキストで QR コードを作成します:myApp://extraString任意の QR コード リーダーで読み取ります。Zxingまたは、のオープン ソースを使用して独自の qr コード リーダーを統合することもできます。extraStringそして、@Sean Owenが言及したように、を使用して取得できますgetIntent().getDataString()。これをマニフェスト ファイルに追加することを忘れないでください。

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="myApp"/>
</intent-filter>

それはうまくいくはずです。

于 2012-05-08T07:38:28.417 に答える
8

はい。で、アプリが次の URL に応答することを宣言しますAndroidManifest.xml<activity>

  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:scheme="myApp" android:host="org.hardartcore.myApp" android:path="/"/>
  </intent-filter>

(これを機能させるには、「?」の前に「/」を付ける必要があると思います。)

その後、プラットフォームを使用して URL を解決すると、アプリが開きます。Web ブラウザのハイパーリンクは機能します。

URL 自体は で取得できますgetIntent().getDataString()android.net.Uri好きなように解析できます。

これを行う方法の例についてはCaptureActivityZXingを参照してください。

于 2012-04-21T12:36:20.040 に答える
-3

はい インテントを使えば可能です。

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);

public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{
if (requestCode == 0) 
{
if (resultCode == RESULT_OK) 
     {
              final String contents = intent.getStringExtra("SCAN_RESULT");
        Toast.makeText(this, contents, Toast.LENGTH_SHORT).show();
} else if (resultCode == RESULT_CANCELED) 
        {
    Toast.makeText(this, "Not proper QRCODE...!",Toast.LENGTH_SHORT).show();
    }
}
}
于 2012-04-21T12:26:13.647 に答える