簡體   English   中英

從另一個應用程序啟動活動? (使用AndroidAnnotations)

[英]Launching Activity from another App? (with AndroidAnnotations)

自外部Activity(另一個App)以來,如何在一個App(主要)內啟動AndroidAnnotations Activity_。

這是我當前的代碼:

Intent codeScannerActivity = new Intent(PACKAGE, CODE_SCANNER_ACTIVITY);
codeScannerActivity.putExtra("codeScannerType", CameraUtils.CODE_SCANNER_SINGLE);
startActivityForResult(codeScannerActivity, Core.ActivityResult.RequestCode.CODE_SCANNER);

其中PACKAGE =“ main.app.package”

CODE_SCANNER_ACTIVITY =包+“ .activity.MyActivity_”

但是日志拋出:

android.content.ActivityNotFoundException:找不到用於處理Intent的活動{act = main.app.package dat = main.app.package.activity.MyActivity_ (有其他功能)}

活動是在清單的主應用程序中使用類“ etc.MyActivity_”定義的。

您正在錯誤地構造Intent 對於您使用的構造函數,第一個參數解釋為“操作”,第二個參數解釋為URI。 該錯誤表明沒有活動可以響應操作“ main.app.package”和URI“ main.app.package.activity.MyActivity_”。

要解決此問題,請首先從Android Developer網站閱讀“ 開始另一個活動”和“ Intent javadocs ”。 尤其是查看可用構造函數的文檔。 可能有一種比您嘗試使用的更適合您的目的。 Intent文檔包含標准Activity動作的列表。 如果要啟動特定活動,則應使用Intent (Context packageContext, Class<?> cls)

Intent intent = new Intent(this, main.app.package.activity.MyActivity_.class);

我創建了錯誤的Intent,這是正確的方法:

Intent codeScannerActivity = new Intent();
codeScannerActivity.setComponent(new ComponentName(PACKAGE, CODE_SCANNER_ACTIVITY));
codeScannerActivity.putExtra("codeScannerType", CameraUtils.CODE_SCANNER_SINGLE);
startActivityForResult(codeScannerActivity, Core.ActivityResult.RequestCode.CODE_SCANNER);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM