私の会社は、お客様にハードウェア(samsung galaxy tab 10.1)とソフトウェア(私のアプリケーション)の両方を配布しています。adb経由でアプリケーションをインストールすることはできますが、Googleマーケットのアップデートは引き続き入手できますか?
Googleアカウントのリンクをスキップしてadbを使用して、本番用の署名付きアプリケーションをタブレットに直接インストールすることです(googleマーケットにアップロードするapkと同じです)。これにより、顧客のためにタブレットを事前設定したり、画面の背景をロゴなどに変更したりすることができます。
しかし、タブレットが顧客に届けられたら、Googleアカウントを添付してタブレットを使用していても、市場からアプリケーションからアップデートを受け取ることができます。私のテストでは、手動でインストールしたアプリケーションは、Googleマーケットのアプリケーションのリストに表示されることはありません。
これは可能ですか?
ティム
UPDATE:私は手動でデバイスにインストールされます「ランチャー」アプリケーションを書くことになりました。それはテーマに1つの活性を有する:
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
活動は、このコードを持っています
public class LauncherActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
startApplication("applicationnamehere");
finish(); // this kills the activity immediately.
}
public void startApplication(String application_name){
boolean successfulLaunch = false;
try{
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
List<ResolveInfo> resolveinfo_list = getPackageManager().queryIntentActivities(intent, 0);
for(ResolveInfo info:resolveinfo_list){
if(info.activityInfo.packageName.equalsIgnoreCase(application_name)){
Intent launch_intent = new Intent("android.intent.action.MAIN");
launch_intent.addCategory("android.intent.category.LAUNCHER");
launch_intent.setComponent(new ComponentName(info.activityInfo.packageName, info.activityInfo.name));
launch_intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launch_intent);
successfulLaunch = true;
break;
}
}
}
catch (ActivityNotFoundException e) {
launchMarket();
}
if (!successfulLaunch)
launchMarket();
}
private void launchMarket() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=packagenamegoeshere"));
startActivity(intent);
}
}
あなたがのstrings.xmlに定数を詰め込むことができます。
これは、メインアプリケーションがユーザーによってインストールされた後でも、ホーム画面にハングするという唯一の問題でうまく機能します。それは(デフォルトでは)私のアプリケーションのためにLAUNCHERを起動しようとしているので、それは世界の終わりではありません。
"ライブ"に行く前にこれをテストすることはできませんか? – mbanzon
@mbanzonこれは私が今やっていることです。 – knaak
あなたの調査結果を報告してください。 – mbanzon