1

App Drawer(ホーム画面ではない)でSoundRecorderを起動するためのショートカットを追加しようとしています

したがって、アプリは空である必要があり、必要な作業はSound Recorder 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;

}
}`
4

2 に答える 2

1

ふたつのやり方:

独自のアプリを作成します。そこから別のアプリを起動するのはとても簡単です。

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

また

Taskerをダウンロードします。携帯電話から直接アプリを作成できる機能があります。必要なアプリを起動するTaskerプロファイルを作成するだけです。

于 2012-10-20T06:16:27.020 に答える
0

新しいタスクのフラグを追加し、finish()を呼び出してsetContentViewを削除する必要があると思います。

クラッシュの原因がnullポインター例外である場合は、パッケージが正しくないか、アプリがインストールされていない可能性があります。

そのため、インテントが自分に与えられているのか、nullであるのかを確認する必要があります。

ところで、変数名は小文字にする必要があります。

ここでの活動のコード:

@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"
于 2012-10-20T08:38:13.563 に答える