2012-10-20 16 views
1

我想添加一個快捷方式啓動錄音機在App抽屜(沒有主屏幕)應用只是推出

所以應用程序應該是空的,它必須要做的唯一工作的活動是啓動聲音錄音機 com.android.soundrecorder/com.android.soundrecorder.SoundRecorder

我該怎麼做?

我得到強制停止使用此:

`

<uses-sdk 
    android:minSdkVersion="16" 
    android:targetSdkVersion="15" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".Recorder" 
     android:label="@string/title_activity_recorder" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

`

和Java文件

`package recorder.audio.dsaif; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 

public class Recorder extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.android.soundrecorder.SoundRecorder"); 
    startActivity(LaunchIntent); 
    setContentView(R.layout.activity_recorder); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_recorder, menu); 
    return true; 

} 
}` 

回答

0

我認爲你需要添加一個新任務的標誌,並且調用finish()並移除setContentView。

如果崩潰是由空指針異常引起的,則可能是軟件包不正確和/或應用程序未安裝。

這就是爲什麼你需要檢查是否給你的意圖或null。

btw,變量名稱應該有一個小寫字母。活動在這裏

代碼:

@Override 
    protected void onCreate(final Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    final Intent launchIntent=getPackageManager().getLaunchIntentForPackage("com.android.soundrecorder.SoundRecorder"); 
    if(launchIntent==null) 
     { 
     Toast.makeText(this,"can't find the app to launch!",Toast.LENGTH_SHORT).show(); 
     finish(); 
     return; 
     } 
    launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(launchIntent); 
    finish(); 
    } 
清單文件

,這個屬性添加到活動標籤避免顯示活動的「正常」的風格:

android:theme="@android:style/Theme.Dialog" 
+0

請詳細說明代碼..我很新的Java – user1561329

+0

這裏。希望你能理解它。 –

+0

我也注意到了這一點:android:minSdkVersion =「16」 android:targetSdkVersion =「15」。它沒有任何意義(儘管可以使用它)。 minSdk值應該小於或等於targetSdk的值。 –

1

兩種方式:

創建自己的應用程序。從那裏啓動一個不同的應用程序非常簡單。

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.android.soundrecorder.SoundRecorder"); 
startActivity(LaunchIntent); 

OR

下載塔斯克。它有一項功能,可讓您直接從手機創建應用程序。你可以簡單地製作一個Tasker配置文件來啓動你想要的應用程序。

+0

收到錯誤信息: x – user1561329

+0

檢查更新後的文章,並請指出錯誤 – user1561329