为什么我的应用程序无法处理我的意图?

塞巴斯蒂安·尼尔森

我有这个程序:

import android.R.drawable;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        String b64encoded = null;
        Intent intent = getIntent();
        Uri data = intent.getData();
        b64encoded = data.getEncodedSchemeSpecificPart();
        if (b64encoded != null) {

            if (data.getScheme() == "cqrsa") {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Authentication");
                builder.setMessage("Clicked: " + b64encoded);
                builder.setCancelable(false);
                builder.setIcon(drawable.ic_lock_lock);
                builder.setNeutralButton(android.R.string.ok,
                        new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();
                        android.os.Process.killProcess(android.os.Process.myPid());
                    }
                });
                AlertDialog alert = builder.create();
                alert.show();
            }
            if (data.getScheme() == "sqrsa") {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("Authentication");
                builder.setMessage("Scanned: " + b64encoded);
                builder.setCancelable(false);
                builder.setIcon(drawable.ic_lock_lock);
                builder.setNeutralButton(android.R.string.ok,
                        new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        dialog.cancel();
                        android.os.Process.killProcess(android.os.Process.myPid());
                    }
                });
                AlertDialog alert = builder.create();
                alert.show();
            }
        }
        else
        {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("Authentication");
            builder.setMessage("No data was supplied");
            builder.setCancelable(false);
            builder.setIcon(drawable.ic_dialog_alert);
            builder.setNeutralButton(android.R.string.ok,
                    new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                    android.os.Process.killProcess(android.os.Process.myPid());
                }
            });
            AlertDialog alert = builder.create();
            alert.show();
        }    

    }



    @Override
    public void onDestroy() {
        super.onDestroy();
        android.os.Process.killProcess(android.os.Process.myPid());
    }
}

然后在AndroidManifest中将意图定义为:

<activity android:name="eu.sebbe.www.qrsaauthentication.MainActivity" android:label="AuthTestLabel">
        <intent-filter>
             <data android:scheme="cqrsa" />
             <data android:scheme="sqrsa" />                        
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
</activity>

但是,在测试应用程序时,Intent捕获器仅挂起并显示屏幕“ AuthTestLabel”。

看来MainActivity根本没有执行。我在做什么错?

我创建了一个空白的Android项目(不带任何界面),因为此应用仅应计算一次密码,并在对话框(或将其放入剪贴板)中显示在屏幕上,具体取决于是通过单击链接还是通过扫描调用了该应用二维码。(这就是为什么我定义2个urlhandlers sqrsa和cqrsa的原因)

该应用程序有什么问题?

南比

您正在==if语句中比较String和运算符,在这种情况下可能会返回false

你需要比较字符串equals()样改变这种data.getScheme() == "sqrsa"(data.getScheme().equals ("sqrsa"))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为苹果推送通知处理我的iPhone应用程序的应用程序徽章编号

来自分类Dev

xPage为什么处理我的评论

来自分类Dev

用于管理我的应用程序的应用程序?

来自分类Dev

为什么Composer无法安装我的应用程序

来自分类Dev

为什么我无法购买应用程序?

来自分类Dev

为什么启动照片意图之后但在调用onActivityResult()之前我的应用程序崩溃?

来自分类Dev

为什么我的应用程序崩溃了?

来自分类Dev

由于一般错误,这次无法处理应用程序。...每次在验证我的应用程序时都会显示此错误。为什么?

来自分类Dev

是什么在处理我的WCF对象,为什么?

来自分类Dev

是什么在处理我的WCF对象,为什么?

来自分类Dev

阻止意图打开我的应用程序

来自分类Dev

为什么forcats的fct_lump无法处理我的数据?

来自分类Dev

为什么ASP.NET Core无法并行处理我的请求?

来自分类Dev

为什么无法在我的应用程序包中快速找到我的MOV文件?

来自分类Dev

为什么我的handleLogout功能无法在我的React应用程序中工作?

来自分类Dev

当我的应用程序在后台运行时,为什么我的BroadcastReceiver无法注册?

来自分类Dev

为什么我无法运行我的node.js Express Web应用程序

来自分类Dev

为什么我无法将我的应用程序推送到Heroku?

来自分类Dev

我的C ++应用程序无法链接,我也不知道为什么

来自分类Dev

xPage为什么处理我的注释,好像不是

来自分类Dev

为什么未处理我的WCF FaultException?

来自分类Dev

为什么重新处理我的文件?

来自分类Dev

为什么我的按钮使我的应用程序崩溃?

来自分类Dev

为什么我的Web应用程序出现未处理的拒绝错误?

来自分类Dev

为什么我应该将自己的错误/异常处理构建到 Webflux 应用程序中?

来自分类Dev

为什么我的意图无法开始活动?

来自分类Dev

为什么我的WPF应用程序中出现“无法加载DLL'sqlite3'”的信息?

来自分类Dev

为什么在我的Swift ios应用程序中无法单击UICollectionView单元格?

来自分类Dev

为什么我无法将应用程序传递给Express 4中的控制器?

Related 相关文章

  1. 1

    为苹果推送通知处理我的iPhone应用程序的应用程序徽章编号

  2. 2

    xPage为什么处理我的评论

  3. 3

    用于管理我的应用程序的应用程序?

  4. 4

    为什么Composer无法安装我的应用程序

  5. 5

    为什么我无法购买应用程序?

  6. 6

    为什么启动照片意图之后但在调用onActivityResult()之前我的应用程序崩溃?

  7. 7

    为什么我的应用程序崩溃了?

  8. 8

    由于一般错误,这次无法处理应用程序。...每次在验证我的应用程序时都会显示此错误。为什么?

  9. 9

    是什么在处理我的WCF对象,为什么?

  10. 10

    是什么在处理我的WCF对象,为什么?

  11. 11

    阻止意图打开我的应用程序

  12. 12

    为什么forcats的fct_lump无法处理我的数据?

  13. 13

    为什么ASP.NET Core无法并行处理我的请求?

  14. 14

    为什么无法在我的应用程序包中快速找到我的MOV文件?

  15. 15

    为什么我的handleLogout功能无法在我的React应用程序中工作?

  16. 16

    当我的应用程序在后台运行时,为什么我的BroadcastReceiver无法注册?

  17. 17

    为什么我无法运行我的node.js Express Web应用程序

  18. 18

    为什么我无法将我的应用程序推送到Heroku?

  19. 19

    我的C ++应用程序无法链接,我也不知道为什么

  20. 20

    xPage为什么处理我的注释,好像不是

  21. 21

    为什么未处理我的WCF FaultException?

  22. 22

    为什么重新处理我的文件?

  23. 23

    为什么我的按钮使我的应用程序崩溃?

  24. 24

    为什么我的Web应用程序出现未处理的拒绝错误?

  25. 25

    为什么我应该将自己的错误/异常处理构建到 Webflux 应用程序中?

  26. 26

    为什么我的意图无法开始活动?

  27. 27

    为什么我的WPF应用程序中出现“无法加载DLL'sqlite3'”的信息?

  28. 28

    为什么在我的Swift ios应用程序中无法单击UICollectionView单元格?

  29. 29

    为什么我无法将应用程序传递给Express 4中的控制器?

热门标签

归档