[英]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.