2017-08-10 34 views
1

我做了一個圖書館項目,然後建立它,拿起.aar並解壓縮它。 接收包含該庫的classes.jar文件,並將其添加到另一個項目中。 該項目識別我的文件,我可以從中調用方法和函數。 我的問題是,我嘗試調用的意圖的活動,從我的圖書館,像這樣:我如何從圖書館製作活動意圖?

textView = (TextView) findViewById(R.id.text); 
    textView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(MainActivity.this, InCallActivity.class); 
      intent.putExtra("duration",20); 
      intent.putExtra("message","test"); 
      intent.putExtra("url","https://facetalk.vidyo-nl.com/mobile.html?roomdirect.html&key=QMvMp3eKTqOeLAWQ6HOvHqFJd0"); 
      intent.putExtra("test","true"); 
      startActivity(intent); 
     } 
    }); 

,但我得到的一個問題是這樣的:

08-10 15:02:41.730: E/AndroidRuntime(18572): Process: com.vidyo.facetalklibtest, PID: 18572 
08-10 15:02:41.730: E/AndroidRuntime(18572): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.vidyo.facetalklibtest/com.vidyo.vidyocore.activities.InCallActivity}; have you declared this activity in your AndroidManifest.xml? 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1794) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1512) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Activity.startActivityForResult(Activity.java:3930) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Activity.startActivityForResult(Activity.java:3890) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Activity.startActivity(Activity.java:4213) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.Activity.startActivity(Activity.java:4181) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at com.vidyo.facetalklibtest.MainActivity$1.onClick(MainActivity.java:32) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.view.View.performClick(View.java:5204) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.view.View$PerformClick.run(View.java:21153) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.os.Handler.handleCallback(Handler.java:739) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.os.Handler.dispatchMessage(Handler.java:95) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.os.Looper.loop(Looper.java:148) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at android.app.ActivityThread.main(ActivityThread.java:5417) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at java.lang.reflect.Method.invoke(Native Method) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
08-10 15:02:41.730: E/AndroidRuntime(18572): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
08-10 15:02:41.731: W/ActivityManager(787): Force finishing activity com.vidyo.facetalklibtest/.MainActivity 

現在我發現有關清單的東西-merger manifestmerger.enabled=true需要在project.properties文件中設置。但我正在使用AndroidStudio,而不是Eclipse,因此我沒有該文件。 我該如何解決這個問題?

回答

1

我該如何解決這個問題?

正確使用庫模塊,通過兩種compile project(...)將其作爲應用程序的依賴,compile指向圖書館的神器在儲存庫,或在捏compile file(...)指向AAR文件。確保AAR具有您尋求的<activity>元素的清單。

督察,擺脫了以下內容:

接過.aar並解壓它。接收包含該庫的classes.jar文件,並將其添加到另一個項目中。

清單合併是自動使用庫模塊和AAR以及Android Studio;沒有什麼具體的啓用。

+0

添加庫.aar這樣的: https://stackoverflow.com/questions/16682847/how-to-manually -include-外部AAR-使用-新gradle這個包,Android的集結SYST –

1

您需要在應用程序清單的完整路徑也宣佈活動:

com.library.domain.activities.yourActivity 

,它可能工作,然後。

0

而在您的圖書館只是把這個打開MainActivity:

Intent intent = new Intent("com.example.main.mainactivity"); 
startActivity(intent);